MATLAB: Error while trying to train network using multiple cpus

Image Processing ToolboxMATLABneural network

Hi, I'm following the super resolution image neural network example from the mathwork website. Everything works fine except utilization of multiple cpus. My GPU is old. So, I've given up gpu option. But when I try to use multiple cpus by putting following options in the 'trainNetwork' I get errors.
,...
'ExecutionEnvironment', 'parallel');
Errors are as follows:
Starting parallel pool (parpool) using the 'local' profile ...
connected to 8 workers.
Error using trainNetwork (line 154)
MiniBatchable Datastore is not distributable.
Error in trainVDSR (line 75)
net = trainNetwork(source,layers,options);
Caused by:
Error using nnet.internal.cnn.DataDispatcherFactory.createDataDispatcher (line 100)
MiniBatchable Datastore is not distributable.
Any idea why it's complaining?
Thank you, C

Best Answer

The error means that the vdsrImagePatchDatastore does not support parallel training. This is a custom datastore created for this example. You could try adding the Distributable interface yourself to get it working.
I'll admit the error message is confusing and we should do something about it.
Related Question