MATLAB Answers

Transfer learning for 2D image using Alexnet

9 views (last 30 days)
R G
R G on 18 Aug 2020
Commented: R G on 13 Sep 2020
but my data in this case is 2D data, so the network responded some error.
Error using trainNetwork (line 154)
The training images are of size 227x227x1 but the input layer expects images of size 227x227x3.
I have tried to convert the image to 3D image in the file @readFunctionTrain but it does not work (see attached image).
I am not sure about the function @readFunctionTrain but it seems not allow me to do any change.
Have someone ever face this problem?

Accepted Answer

Mohammad Sami
Mohammad Sami on 22 Aug 2020
Edited: Mohammad Sami on 22 Aug 2020
Another option would be for you to use the augmented image data store function. It includes both resizing and grey to RGB functionality.
if true
auimds = augmentedImageDatastore([224,224],imds,'ColorPreprocessing','gray2rgb');
end

More Answers (1)

Walter Roberson
Walter Roberson on 19 Aug 2020
Or you can use an Augmented Image Datastore, as that has an option to automatically adjust the color.

  2 Comments

R G
R G on 19 Aug 2020
Im trying your first suggest but get error here, not sure how this code work and what is @(x)
Mohammad Sami
Mohammad Sami on 22 Aug 2020
The transform function was introduced in R2019a. If you are unable to upgrade, the alternative would be to set a custom ReadFcn function for your imageDatastore

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!