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{:});

 채택된 답변

MSRIC
MSRIC 2017년 3월 24일
I got the same error. I think depend on the Matlab version, I am using matlab2016a. Can someone help us?

추가 답변 (1개)

Joss Knight
Joss Knight 2017년 3월 24일
R2016a doesn't have an 'ExecutionEnvironment' parameter and does not have CPU support, which was introduced in R2016b.

댓글 수: 9

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 2017년 3월 28일
편집: Joss Knight 2017년 3월 28일
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?

댓글을 달려면 로그인하십시오.

카테고리

질문:

2017년 3월 24일

댓글:

2020년 10월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by