Why is there no 'ExecutionEnvironment' parameter for trainingOptions function?

I am using a macbook pro with no nvida gpu, by default trainNetwork should use cpu instead of gpu. But I got this error.
There is a problem with the CUDA driver or with this GPU device. Be sure that you have a supported GPU and that
the latest driver is installed.
Error in parallel.internal.gpu.isAnyDeviceSelected
Error in parallel.gpu.GPUDevice.current (line 33)
if parallel.internal.gpu.isAnyDeviceSelected
Error in gpuDevice (line 23)
dev = parallel.gpu.GPUDevice.current();
Caused by:
The CUDA driver could not be loaded. The library name used was '/usr/local/cuda/lib/libcuda.dylib'. The error
was:
dlopen(/usr/local/cuda/lib/libcuda.dylib, 10): image not found"
Then I tried to follow the documentation to use cpu https://www.mathworks.com/help/nnet/ref/trainingoptions.html , my matlab 2016a says trainingOptions doesn't have 'ExecutionEnvironment' parameter.
This is my code
opts = trainingOptions('sgdm',...
'ExecutionEnvironment','cpu',...
'LearnRateSchedule','piecewise',...
'LearnRateDropFactor',0.2,...
'LearnRateDropPeriod',5,...
'MaxEpochs',20,...
'MiniBatchSize',300);
Error using nnet.cnn.TrainingOptionsSGDM.parseInputArguments (line 115)
'ExecutionEnvironment' is not a recognized parameter. For a list of valid name-value pair arguments, see the
documentation for this function.
Error in trainingOptions (line 97)
args = nnet.cnn.TrainingOptionsSGDM.parseInputArguments(varargin{:});

 Akzeptierte Antwort

MSRIC
MSRIC am 24 Mär. 2017
I got the same error. I think depend on the Matlab version, I am using matlab2016a. Can someone help us?

Weitere Antworten (1)

Joss Knight
Joss Knight am 24 Mär. 2017
R2016a doesn't have an 'ExecutionEnvironment' parameter and does not have CPU support, which was introduced in R2016b.

9 Kommentare

I got the same error on R2016b. That version still can't recognize 'ExecutionEnvironment'.
Error using nnet.cnn.TrainingOptionsSGDM.parseInputArguments (line 115)
'ExecutionEnvironment' is not a recognized parameter. For a list of valid name-value pair
arguments, see the documentation for this function.
Me too, I have Matlab R2016b and I got the same error. Is there any solution for this issue please?
Error using nnet.cnn.TrainingOptionsSGDM.parseInputArguments (line 115)
'ExecutionEnvironment' is not a recognized parameter. For a list of valid name-value pair arguments, see the
documentation for this function.
Joss Knight
Joss Knight am 28 Mär. 2017
Bearbeitet: Joss Knight am 28 Mär. 2017
I apologise for missing your original point. Training on anything other than a GPU is not supported in R2016b. trainingOptions has no ExecutionEnvironment parameter, only the inference functions - classify, predict and activations - have it and can run on the CPU.
Being able to select the ExecutionEnvironment for training was introduced in R2017a, which you can download now.
I got the same error on R2016b. That version still can't recognize 'ExecutionEnvironment'.
"Being able to select the ExecutionEnvironment for training was introduced in R2017a,"
i cant sellect on 2019 version, it show invalid solver name
Soong Yuan See, could you confirm that you have Deep Learning Toolbox installed?
I am using the 2019b version and it show me invalid solver name, yes I have the Deep Learning Toolbox installed and able to train using single CPU but not GPU please help me.
Soong Yuan See, can you paste a Minimal Working Example? Also does MATLAB recognize a GPU for you?

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 24 Mär. 2017

Kommentiert:

am 27 Okt. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by