TTConvolutionInterleaved#
Currently, this API is unsupported in Python
-
class TTConvolutionInterleaved#
A 2D convolution for iteratively evaluating CNN.
The operator distinguishes between 5 types of dimensions: Image rows, image cols (must be present) Channels (0 or more) Filters (0 or 1) All other dimensions (0 or more) are considered batch.
Here are two examples: Example option I (FXYCB): image: [/t0,X~/t1,Y~/t2, C/t3, B/t4] filter: [FX,FY,F/t0,/t1, /t2, C/t3, */t4] bias: [F/t0,/t1,/t2,/t3,*/t4] output: [F/t0,X~/t1,Y~/t2, */t3, B/t4]
Example option II: channels split in two dimensions, no filters dimension. (implying 1 filter) image: [C1/t0,X~/t1,Y~/t2, C2/t3, B/t4] filter: [FX,FY,C1/t0,/t1, */t2, C2/t3, */t4] bias: [*/t0,/t1,/t2,/t3,*/t4] output: [*/t0,X~/t1,Y~/t2, */t3, B/t4]
Regarding unknowns in the input: All dimensions can have unknown values, with one (rare) exception: If you choose to sum over channels, and there are no filters, then the channel dimensions must be cleared of unknowns.
Regarding unknowns in the output: Currently the bias introduces unknowns. The documentation below applies for the case no bias is used.
Batch dimensions: same as in input (note: can be cleared in future version if there are masks or filters)
Channel dimensions:
If sum-over-channels: first non-trivial dimension is duplicated, others have unknowns
No sum-over-channels: cleared if there are filters, same as in input otherwise.
Image dimensions:
Cleared if there are masks (due to internal strides or no physical padding)
With unknowns otherwise
Filter dimension:
If there are filters: cleared of unknowns
Same as input otherwise
Public Functions
Setup a convolution of tensor with interleaved dimensions.
- Parameters:
input – Input tensor
convFilters – TTConvFilters with filters and biases
-
CTileTensor getConvolution()#
Apply the convolution and return the output tensor.