Hi
I am using the following code
close all;clc; %% Initalize the data
dataDir= fullfile('Data/');exts = {'.jpg','.png','.tif','BMP'}; imds = imageDatastore(fullfile(dataDir),...'IncludeSubfolders',true,'FileExtensions','.jpg','LabelSource','foldernames');countEachLabel(imds); [TrainData, TestData] = splitEachLabel(imds, 0.5);size(TrainData);countEachLabel(TrainData);numImages = numel(TrainData.Files); for i = 1:numImages img = readimage(TrainData, i);% img2= imshow(img, 'InitialMagnification', 800);
img3= imresize(img, [100 100]); img4= imshow(img3, 'InitialMagnification', 800); drawnow; Train{i} = (img3); %#ok<SAGROW>
endhiddenSize = 25;autoenc = trainAutoencoder(Train,hiddenSize,'MaxEpochs',1000,...'DecoderTransferFunction','purelin','EncoderTransferFunction','satlin','L2WeightRegularization',0.0004,'SparsityRegularization',4,'SparsityProportion',0.15); numImages = numel(TestData.Files); for i = 1:numImages img5 = readimage(TestData, i); img6= imresize(img, [100 100]); img7= imshow(img3, 'InitialMagnification', 800); drawnow; Test{i} = (img6); %#ok<SAGROW>endxReconstructed = predict(autoenc,Test);%% Test Images
figure();for i = 1:10 subplot(4,5,i); imshow(TestData.Files{i});end %% Reconstructed images from TestData
figure();for i = 1:10 subplot(4,5,i); imshow(xReconstructed(i))end
But I got the following error
Error using imageDisplayValidateParamsExpected input number 1, I, to be one of these types: double, single, uint8, uint16, uint32, uint64, int8, int16, int32, int64, logical Instead its type was cell. Error in images.internal.imageDisplayValidateParams (line 11)validateattributes(common_args.CData, {'numeric','logical'},... Error in images.internal.imageDisplayParseInputs (line 79)common_args = images.internal.imageDisplayValidateParams(common_args); Error in imshow (line 253) images.internal.imageDisplayParseInputs({'Parent','Border','Reduce'},preparsed_varargin{:}); Error in data_process1 (line 51) imshow(xReconstructed(i))
When I compare to the example,
https://www.mathworks.com/help/deeplearning/ref/trainautoencoder.html
the issue is with Train{i}and Test {i}, The model is not trained probably with given data. When I compared with example in MATLAB for digitTrainCellArrayData and digitTTestCellArrayData I am having problems and my cell array which are not the same as in example
My cell arrays for Train{i}and Test {i} are like this like for example Train{i}
But in the example in MATLAB for digits, digitTrainCellArrayData and digitTestCellArrayData are like this
digitTrainCellArrayData
In addition to that. Range in example is from 0 – 1 while my data is from 0 – 255
Kindly looking for your support
Best Answer