How to split an image datastore for cross-validation?

Hello,
The method
splitEachLabel
of an
imageDatastore
object splits an image data store into proportions per category label. How can one split an image data store for training using cross-validation and using the
trainImageCategoryCalssifier
class?
I.e. it's easy to split it in N partitions, but then some sort of mergeEachLabel functionality is needed to be able to train a classifier using cross-validation. Or is there another way of achieving that?
Regards, Elena

2 Comments

I am looking for an answer to a similar problem. Did you solve it?
I am also looking for an answer to a similar problem. Did you solve it?

Sign in to comment.

 Accepted Answer

[imd1 imd2 imd3 imd4 imd5 imd6 imd7 imd8 imd9 imd10] = splitEachLabel(imds,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,'randomize');
partStores{1} = imd1.Files ;
partStores{2} = imd2.Files ;
partStores{3} = imd3.Files ;
partStores{4} = imd4.Files ;
partStores{5} = imd5.Files ;
partStores{6} = imd6.Files ;
partStores{7} = imd7.Files ;
partStores{8} = imd8.Files ;
partStores{9} = imd9.Files ;
partStores{10} = imd10.Files;
for i = 1 :k
i
test_idx = (idx == i);
train_idx = ~test_idx;
imdsTest = imageDatastore(partStores{test_idx}, 'IncludeSubfolders', true,'FileExtensions','.jpeg', 'LabelSource', 'foldernames');
imdsTrain = imageDatastore(cat(1, partStores{train_idx}), 'IncludeSubfolders', true,'FileExtensions','.jpeg', 'LabelSource', 'foldernames');
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%Write your classification task
%%%%hamzamehboob103@gmail.com for any further help.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
}

More Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!