Hello everyone,
I'm building a CNN model, but first I would like to control the images saiz
since all the dataset images aize are 40*24*1 , and I would like to change it to like 100*60*1
How do I do that ?
this is my code:
clear;clc;outputFolder = fullfile("binary_dataset");rootFolder = fullfile(outputFolder, "Categories");categories = {'Anomaly','No-Anomaly'}; % names of the folders
imds = imageDatastore(fullfile(rootFolder,categories),'LabelSource','foldernames');tbl = countEachLabel(imds);[imdsTrain,imdsValidation] = splitEachLabel(imds, 0.8, 'randomize');inputSize = [40 24 1];numClasses = 2;layers = [ imageInputLayer(inputSize) convolution2dLayer(5,20,'Padding',1) batchNormalizationLayer reluLayer maxPooling2dLayer(2,'Stride',2) convolution2dLayer(5,20,'Padding',1) batchNormalizationLayer reluLayer maxPooling2dLayer(2,'Stride',2) convolution2dLayer(5,20,'Padding',1) batchNormalizationLayer reluLayer maxPooling2dLayer(2,'Stride',2) fullyConnectedLayer(numClasses) softmaxLayer classificationLayer];options = trainingOptions('adam', ... 'MaxEpochs',1, ... 'ValidationData',imdsValidation, ... 'ValidationFrequency',30, ... 'Verbose',false, ... 'Plots','training-progress');net = trainNetwork(imdsTrain,layers,options);YPred = classify(net,imdsValidation);YValidation = imdsValidation.Labels;accuracy = mean(YPred == YValidation)
Best Answer