why is error happen even I write the exact code for alexnet

3 views (last 30 days)
Error using SeriesNetwork/predict (line 149)
For an image input layer, the input data for predict must a single image, a 4D array of images, or an
imageDatastore with the correct size.
Error in SeriesNetwork/classify (line 225)
scores = this.predict( X, varargin{:} );
Error in amjh (line 10)
  2 Comments
Walter Roberson
Walter Roberson on 13 Mar 2017
We need to see more of your code.
Also, which MATLAB release are you using?
muhmed omer
muhmed omer on 13 Mar 2017
Edited: Walter Roberson on 14 Mar 2017
clear all,close,clc
camera=webcam;
net= alexnet;
while true
picture=camera.snapshot;
picture= imresize(picture,[277,277]);
lable=classify(net,picture);
image(picture);
title(char,(lable));
drawnow;
end
and I am using matlab 2016b

Sign in to comment.

Answers (3)

Walter Roberson
Walter Roberson on 14 Mar 2017
Edited: Walter Roberson on 14 Mar 2017
Change
picture= imresize(picture,[277,277]);
to
picture= imresize(picture,[227,227]);
That gets me past that point. I run out of GPU memory eventually.
Also you need to change to
title(char(lable));

Pradeep Punniyakotti
Pradeep Punniyakotti on 24 Mar 2018
To process color images in AlexNet, the input image size has to be 227 x 227 x 3.
227 x 227 indicates the height and width of the image and 3 represents the RGB intensities.
Resize your existing image using the imresize command.
To view the input layer size of AlexNet, use the command variable.Layers(1)

abdelilah mbarek
abdelilah mbarek on 20 May 2018
Hi; in alexNet you should resize or images. you can call functions that you create it in file resizeFunction.m for example:
function I = resizeFunction(filename)
I = imread(filename);
I = imresize(I, [227 227]);
if you are using imageDatastore:
images= imageDatastore();
use this call after:
images.ReadFcn = @resizeFunction;

Community Treasure Hunt

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

Start Hunting!