binaryop broadcasting - nihui/ncnn GitHub Wiki
ncnn BinaryOp accepts blobs with different shape
C = BinaryOp(A, B)
shape notation convention is [w], [w,h], [w,h,c]
| type | A | B | C |
|---|---|---|---|
| 1 | [1] | scalar | [1] |
| 2 | [1] | [1] | [1] |
| 3 | [1] | [2,3] | [2,3] |
| 4 | [1] | [2,3,4] | [2,3,4] |
| 5 | [2] | scalar | [2] |
| 6 | [2] | [1] | [2] |
| 7 | [2] | [2] | [2] |
| 8 | [3] | [2,3] | [2,3] |
| 9 | [4] | [2,3,4] | [2,3,4] |
| 10 | [2,3] | scalar | [2,3] |
| 11 | [2,3] | [1] | [2,3] |
| 12 | [2,3] | [3] | [2,3] |
| 13 | [2,3] | [2,3] | [2,3] |
| 14 | [3,4] | [2,3,4] | [2,3,4] |
| 15 | [2,3,4] | scalar | [2,3,4] |
| 16 | [2,3,4] | [1] | [2,3,4] |
| 17 | [2,3,4] | [4] | [2,3,4] |
| 18 | [2,3,4] | [3,4] | [2,3,4] |
| 19 | [2,3,4] | [2,3,4] | [2,3,4] |
some special broadcasting rule exists for model compatibility
| special type | A | B | C |
|---|---|---|---|
| 1 | [2,3,4] | [1,1,4] | [2,3,4] |