Input to Convolution Neural Network
Show older comments
I am using convolution neural network on face images of the size 1024*768*3.
I want to pass these images as input to first input layer of CNN.
what should be size of the 'inputImageLayer' for CNN?
How to decide the size of First layer of CNN?
Answers (1)
bharath pro
on 29 Jun 2020
0 votes
The ImageInputLayer is used to take image inputs when designing a CNN. According to the documentation, it can be called using ImageInputLayer([h w c]), where c= number of chanels. I am assuming for you the height and width of images are 1024 and 768 respectively and c=3. So for this you would need to use ImageInputLayer([1024 768 3]) to instantiate this layer.
8 Comments
AP
on 30 Jun 2020
bharath pro
on 30 Jun 2020
Is the input vector a 1*3 row vector? Can you check its dimensions?
AP
on 30 Jun 2020
bharath pro
on 30 Jun 2020
What output do you get when you run size(image)? Also the row vector has to be [768 1024 3] in your case.
AP
on 30 Jun 2020
bharath pro
on 30 Jun 2020
Can you share your code here. The problem could be in the other layers as well.
AP
on 30 Jun 2020
bharath pro
on 30 Jun 2020
change your layers to this:
layers = [
imageInputLayer(imageSize,'Normalization','none')
convolution2dLayer(5,20)
reluLayer()
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(5,20)
reluLayer()
maxPooling2dLayer(2,'Stride',2)
fullyConnectedLayer(1)
softmaxLayer
classificationLayer()];
Also your options seem to be wrong. Please change that.
Categories
Find more on Recognition, Object Detection, and Semantic Segmentation 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!