how can i make alexnet accept 277x277x1 images

32 views (last 30 days)
i got error in example TransferLearningUsingAlexNetExample Error using trainNetwork (line 140) The training images are of size 227x227x1 but the input layer expects images of size 227x227x3. my dataset 277X277x1
  3 Comments
arun anoop m
arun anoop m on 17 Jul 2020
a=imread(' ');
l=alexnet;
a=imresize(a,[227 227]);
s=classify(l,a);
imshow(a);
try this.
Eline Geerits
Eline Geerits on 4 Apr 2022
How can I apply this to an DataSet. I have abaout 4000 Images I have to resize so it would take way to long to do this for every Image indevidually.

Sign in to comment.

Accepted Answer

Brendan Hamm
Brendan Hamm on 29 Dec 2017
You can resize an image with the imresize function. Now since your images are of size 277x277x1 I will assume they are grayscale, but AlexNet was trained with RGB values and are thus 227x227x 3. It is not possible for you to recover color information from a grayscale image. You may be required to retrain the entire network with grayscale images.
I suggest for more questions on getting started with Deep Learning you check out the FREE Deep Learning OnRamp: https://matlabacademy.mathworks.com/
  9 Comments
arun anoop m
arun anoop m on 17 Jul 2020
Thank you Brendan Hamm sir for recommending useful training course Deep Learning Onramp.
Walter Roberson
Walter Roberson on 22 Jan 2023
These days you should use an augmented image datastore as that can automatically resize and automatically convert to gray or rgb.

Sign in to comment.

More Answers (3)

Atika Aftab
Atika Aftab on 10 Feb 2020
how can i make [224 224 1] img size ?

Ayshath Afra
Ayshath Afra on 2 Apr 2020
The training images are of size 256x256x3 but the input layer expects images of size 224x224x3.
pls help me to solve this error
  1 Comment
Michael Keeling
Michael Keeling on 5 Jun 2020
Edited: Michael Keeling on 5 Jun 2020
You can make an augmented datastore of the images that resizes them auomatically, while leaving your raw images the same

Sign in to comment.


Zaheer Hussain Fida
Zaheer Hussain Fida on 10 Jan 2023
can we extract the binary images features using alexnet.
  1 Comment
Walter Roberson
Walter Roberson on 12 Jan 2023
Use https://www.mathworks.com/help/matlab/ref/matlab.io.datastore.transform.html to apply double() to the binary images so that they become grayscale images containing 0 (false) and 1 (true).
Use augmentedImageDatastore to automatically apply any rescaling needed to get the size needed by alexnet, 227 x 227 x 3 -- there is a color conversion option that can be used in the function.
And then hope that alexnet just happens to have been trained on a number of binary images with useful class names, so that instead of classifying as (say) 'Mathworks Screwdriver', it classifies as (say) 'Solidity 0.8 Eccentricity 0.14 MajorAxes 85' .
... But I must admit, I think the chances are low.
I think you would have more success if you used Transfer Learning rather than hoping that alexnet is already able to identify the exact set of binary features that you want.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!