Hi everybody, I am trying to design a CNN for regression following this Matlab example. It uses a 4D array to store the images and vector to store the values associated to every picture. I am using this code to create a 4D array called 'database' that contains my images and a vector 'labels' that contains the values.
k = 1; %2cm for i = 1:1000 str = sprintf('images/2cm/%d.jpg', i); image_to_store = imread(str); database(:,:,1,k) = (image_to_store(:,:)); % images are in grey scale labels(k) = 2; k = k+1; end %20cm for i = 1:1000 str = sprintf('images/20cm/%d.jpg', i); image_to_store = imread(str); database(:,:,1,k) = (image_to_store(:,:)); labels(k) = 20; k = k+1; end % ...
Now, I have my 4D array and the vector, so I am trying to divide them into a Training Set and a Validation Set as suggested in the example linked. Can anyone please help me to understand how can I do that?
NOTE:-
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
Hope this does what you wanted:
% Your data set: % The first 1000 entries with labels 2cm, % The second 1000 entries with labels 20cm, database = rand(28,28,1,2000); % percentage of training points = 70%, validation = 30%, test = 0% p=0.7; % One way to divide the 2000 database entries [trainInd,valInd,testInd] = dividerand(2000,p,1-p,0); trainDatabaseBad = database(:,:,:,trainInd); valDatabaseBad = database(:,:,:,valInd); size(trainDatabaseBad) % output: 28 28 1 1400 size(valDatabaseBad) % output: 28 28 1 600 % A better way to divide, which ensures that % there is equal propotion of 2cm to 20cm samples in % the training set, validation set, and the whole set [trainInd1,valInd1,testInd1] = dividerand(1000,p,1-p,0); [trainInd2,valInd2,testInd2] = dividerand(1000,p,1-p,0); trainDatabase = cat(4, database(:,:,:,trainInd1), database(:,:,:,trainInd2)); valDatabase = cat(4, database(:,:,:,valInd1), database(:,:,:,valInd2));
SEE COMPLETE ANSWER CLICK THE LINK
Comments
Post a Comment