Why is there no 'ExecutionEnvironment' parameter for trainingOptions function?
Show older comments
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{:});
Accepted Answer
More Answers (1)
Joss Knight
on 24 Mar 2017
0 votes
R2016a doesn't have an 'ExecutionEnvironment' parameter and does not have CPU support, which was introduced in R2016b.
9 Comments
Yoko Yuwono
on 24 Mar 2017
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.
Ahmed Snoun
on 25 Mar 2017
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
on 28 Mar 2017
Edited: Joss Knight
on 28 Mar 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.
Aliyu Bagudu
on 4 Mar 2018
I got the same error on R2016b. That version still can't recognize 'ExecutionEnvironment'.
Walter Roberson
on 4 Mar 2018
"Being able to select the ExecutionEnvironment for training was introduced in R2017a,"
Soong Yuan See
on 12 Feb 2020
i cant sellect on 2019 version, it show invalid solver name
Walter Roberson
on 12 Feb 2020
Soong Yuan See, could you confirm that you have Deep Learning Toolbox installed?
Soong Yuan See
on 19 Feb 2020
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.
Sagar Zade
on 27 Oct 2020
Soong Yuan See, can you paste a Minimal Working Example? Also does MATLAB recognize a GPU for you?
Categories
Find more on Parallel and Cloud in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!