MATLAB: Am I getting an error saying the Datastore is not shuffable

datastoredeepimagelearningprocessing

Why am I getting an error saying my Datastore is  not shuffable?
Warning: Input datastore is not shuffleable but trainingOptions specified shuffling. Training will proceed without shuffling.
Error using nnet.internal.cnn.GeneralDatastoreDispatcher.splitDatastore (line 501)
The input datastore is not Partitionable and does not support parallel operations.

Best Answer

If you specify the "ExecutionEnvironment" in "trainingOptions" for a deep network to be "multiple-gpu" or another form of parallel processing, then it requires the underlying datastore to be partitionable. Most datastores are partitionable, but if you use the "combine" function, this may result in a new datastore that is not partitionable. There are two "solutions" to running into this error:
 
  1. Specify a different execution environment that does not require a partitionable datastore.
  2. Create a custom partitionable datastore. If you need to create a custom datastore that supports parallel or multi-GPU training, then your datastore must implement the "matlab.io.datastore.Partitionable" class.
 
You can check if a datastore is partitionable using the function "ispartitionable".
For more information on using parallel computing with datastores, please also refer to the following page: