I want the same randomly split dataset for all the network so that i can compare the results.

2 views (last 30 days)
Olalekan Adesina
Olalekan Adesina on 30 Aug 2021
Edited: Wan Ji on 30 Aug 2021
Hello there.... This is my code...
[imdsTrain,imdsValidation] = splitEachLabel(imds,0.8,'randomize');
I'm training the same dataset on three different architecture, I don't want the dataset to split different data randomly for each network. I want the same split dataset for all the network so that i can compare the results.
I want the same randomly splited data for all the network.
However, how do i use the residual 20% for the evaluation of my model obtained from the training dataset.

Accepted Answer

Wan Ji
Wan Ji on 30 Aug 2021
Edited: Wan Ji on 30 Aug 2021
You can save imdsTrain, imdsValidation for the first run
And then use load to get imdsTrain, imdsValidation for three different architecture
Here just run once for all
[imdsTrain,imdsValidation] = splitEachLabel(imds,0.8,'randomize');
save imdsTrain.mat imdsTrain
save imdsValidation.mat imdsValidation
Then use load for the three different architectures.
At the beginning of each run m-file
load('imdsTrain.mat');
load('imdsValidation.mat');
  2 Comments
Wan Ji
Wan Ji on 30 Aug 2021
Do you know how datastore manipulates the dataset? IF so, I suggest you use rng function
rng('default'); % use fixed rand series
imds = shuffle(imds); % use the fixed rand number series to rearrange the dataset randomly
[imdsTrain,imdsValidation] = splitEachLabel(imds,0.8);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!