How to create a layer using Neural Network like the C3 Layer of LeNet?
1 view (last 30 days)
Show older comments
the C3 Layer of LeNet-5,is not a fully connect convolutional layer. every filter of this layer only take 4~5 feature map as a input from the previous layer. how could I build this kind of layer on Matlab? Using the Neural Network ToolBox or other function?
0 Comments
Answers (1)
Carl
on 25 Jul 2017
Hi Lingjun. Using the Neural Network Toolbox, you can create a convolutional neural net, and specify the number of filters to apply at each convolutional layer. The number of filters is analogous to the number of output channels, or feature maps. The following page has a good explanation of how this fits into the overall conv net structure:
https://www.mathworks.com/help/nnet/ug/layers-of-a-convolutional-neural-network.html
And here is the documentation for the convolution2dLayer function that you can use to specify the convolutional layer and the feature maps:
https://www.mathworks.com/help/nnet/ref/convolution2dlayer.html
3 Comments
Carl
on 26 Jul 2017
Thank you for the follow up, I seem to have misunderstood your original question. As of MATLAB R2017a, this feature is not supported. See the documentation here on the 'NumChannels' property:
https://www.mathworks.com/help/nnet/ref/convolution2dlayer.html#input_argument_d0e56199
It states that "this parameter is always equal to the channels of the input to this convolutional layer," meaning that any subsequent layer will be connected to all the channels (feature maps) of the previous layer.
See Also
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!