Convolutional layer of a CeNiN network: it slides a bank of filters over the padded input and produces one output feature map per filter.
Convolution
00 Remarks
The filter bank is stored as a tensor with dimensions [filterHeight, filterWidth, channels, filterCount]. The forward pass first materializes every receptive field of the input into a matrix and then multiplies it with the flattened filters in parallel, which keeps the hot loop cache friendly.
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| .ctor | 1 | Creates a convolutional layer. |
| setOutputDims | 1 | Computes the output dimensions from the padded input size, the filter size and the stride, producing [outHeight, outWidth, filterCount]. |
| layerFeedNext | 1 | Runs the convolution: it gathers the receptive fields into a matrix, multiplies them with the filters in parallel and adds the filter biases. |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| type | 1 | Gets the layer kind, always LayerTypes.Convolution. |
04 Fields
05 Members
Int32(), Int32())Creates a convolutional layer.
| Name | Type | Description |
|---|---|---|
inputTensorDims | Int32() | The unpadded dimensions |
pad | Int32() | The padding |
Computes the output dimensions from the padded input size, the filter size and the stride, producing [outHeight, outWidth, filterCount].
Runs the convolution: it gathers the receptive fields into a matrix, multiplies them with the filters in parallel and adds the filter biases.
This layer instance once the feature maps have been written to the next layer.
Gets the layer kind, always LayerTypes.Convolution.
The vertical and horizontal stride [strideY, strideX] of the sliding window.
The filter bank, shaped [filterHeight, filterWidth, channels, filterCount].
One bias value per output filter.