CDepthToSpaceLayer Class
June 18, 2021 ยท View on GitHub
This class implements a layer that transforms each pixel (1 x 1 x Ch) of 2-dimensional images into square blocks of size k x k x Ch/(k*k).
The elements of pixel are interpreted as an image of size k x k x Ch/(k*k) in channel-last ordering.
As a result H x W x Ch image is transformed into H*k x W*k x Ch/(k*k) image.
This operation is the inverse function of CSpaceToDepthLayer.
Settings
Block size
void SetBlockSize( int blockSize );
Sets the size of the squares (k from the layer descrition). The image channels should be a multiple of the square of this value. The value should be greater than 1.
Trainable parameters
The layer has no trainable parameters.
Inputs
The single input accepts a blob with the images, of the dimensions:
BatchLength * BatchWidth * ListSizeis equal to the number of imagesHeightis the image heightWidthis the image widthDepthis equal to1Channelsis the number of channels in the image format; should be a multiple ofGetBlockSize() * GetBlockSize()
Outputs
The single output contains a blob with the resulting images, of the dimensions:
BatchLengthis equal to the inputBatchLengthBatchWidthis equal to the inputBatchWidthListSizeis equal to the inputListSizeHeightis equal to the inputHeight * GetBlockSize()Widthis equal to the inputWidth * GetBlockSize()Depthis equal to1Channelsis equal to the inputChannels / ( GetBlockSize() * GetBlockSize() ).