How to shuffle fileDatastore

Hi,
I tried to shuffle fileDatastore, but failed.
Any method how to do it?

Answers (1)

I understand that you wish to shuffle the fileDatastore. You can utilize the shuffle function to do so. You can use it as given below –
fs = fileDatastore(path, 'ReadFcn', @load)
shuffled_fs = shuffle(fs)
Link to its documentation –

4 Comments

Haoqing Li
Haoqing Li on 19 Jun 2020
Edited: dpb on 14 Jul 2020
Hi,
It doesn't work, below is my result:
>>fs = fileDatastore('try', 'ReadFcn', @load )
fs =
FileDatastore with properties:
Files: {
'D:\Google Drive\MultiLayerPerceptron\try\output.mat';
'D:\Google Drive\MultiLayerPerceptron\try\output1.mat';
'D:\Google Drive\MultiLayerPerceptron\try\output2.mat'
}
Folders: {
'D:\Google Drive\MultiLayerPerceptron\try'
}
UniformRead: 0
ReadMode: 'file'
BlockSize: Inf
PreviewFcn: @load
SupportedOutputFormats: ["txt" "csv" "xlsx" "xls" "parquet" "parq" "png" "jpg" "jpeg" "tif" "tiff" "wav" "flac" "ogg" "mp4" "m4a"]
ReadFcn: @load
AlternateFileSystemRoots: {}
>> shuffled_fs = shuffle(fs);
Check for missing argument or incorrect argument data type in call to function 'shuffle'.
>> dsrand = isShuffleable(fs)
dsrand =
logical
0
It shows that the filedatastore is not shuffleable, is there any way to make it shuffeable?
Hi,
It works perfectly fine for me. I am not able to reproduce the issue you are facing. It would be great if you could provide more info about the MATLAB version you are using?
Hi,
I'm using 2020a.
I get same error on R2019b as does Haoqing LI (another poster just asked same Q? and this thread showed up in the automated links system so came to investigate).
Dunno' what is different w/ the release Ayush Laddha used, but
>> ds=fileDatastore('3*.xlsx','ReadFcn',@readtable)
ds =
FileDatastore with properties:
Files: {
'C:\Users\...\Documents\MATLAB\Work\3-15-17.xlsx';
'C:\Users\...\Documents\MATLAB\Work\3-16-17.xlsx';
'C:\Users\...\Documents\MATLAB\Work\3-17-17.xlsx'
}
UniformRead: 0
ReadMode: 'file'
BlockSize: Inf
PreviewFcn: @readtable
ReadFcn: @readtable
AlternateFileSystemRoots: {}
>> ds=shuffle(ds)
Undefined function 'shuffle' for input arguments of type 'matlab.io.datastore.FileDatastore'.
>>

Sign in to comment.

Asked:

on 18 Jun 2020

Commented:

dpb
on 14 Jul 2020

Community Treasure Hunt

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

Start Hunting!