필터 지우기
필터 지우기

Get this error when trying to open reinforcement learning manager: Unable to open the requested feature. Check your intern Error code: -108 Error message: ERR_ADDRESS_INVALID

조회 수: 8 (최근 30일)
I am using the bayesopt function to optimize my hyperparameters for a reinforcement learning agent. The agent works on a simscape model of a robot. These functions all work well together but are very slow.
I decided to add a parallel process to it to help speed it up however this is the error I keep getting. Im fairly confident I have set everything up correctly I am sure it has something to do with the parallel process toolbox because when i take it away it works fine.
Any ideas what could be the cause of this?
Here is the code that sets up my bayesopt and parallel process workers for reference!
Thanks for the help!
try
parpool(2);
catch
disp('parpool already active')
end
disp('Parallel Process Workers Enabled')
vars = [
optimizableVariable('DiscountFactor', [.9,.9999999], 'Type', 'real');
optimizableVariable('EntropyWeight', [1e-1, 1e3], 'Type', 'real');
optimizableVariable('LearningRate', [1e-7, 1e-1], 'Type', 'real');
optimizableVariable('MiniBatchSize', [32, 256], 'Type', 'real');
optimizableVariable('ExperienceBufferLength', [1e3, 1e6], 'Type', 'real');
optimizableVariable('Weight1', [1e-1,1e3], 'Type', 'real');
optimizableVariable('Weight2', [1e-1,1e3], 'Type', 'real');
optimizableVariable('Weight3', [1e-1,1e3], 'Type', 'real');
optimizableVariable('Weight4', [1e-1,1e3], 'Type', 'real');
optimizableVariable('Weight5', [1e-1,1e3], 'Type', 'real');
optimizableVariable('Weight6', [1e-1,1e3], 'Type', 'real');
];
numEvals = 50; % Number of Bayesian optimization iterations
bayes_results = bayesopt(@optimization_objective, vars, ...
'MaxObjectiveEvaluations', numEvals, ...
'AcquisitionFunctionName', 'expected-improvement-plus',...
'UseParallel',true);
  댓글 수: 1
Anthony
Anthony 2023년 4월 13일
Just wanted to add here, my interent connection is great, I've tried wifi, ethernet, different networks and no internet connection at all and it keeps happening.

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

채택된 답변

Manoj Mirge
Manoj Mirge 2023년 4월 21일
Hi Anthony,
The function syntax “parpool(2)” starts a parallel pool of workers using the default profile. The MATLAB will create parallel pool of workers eighter in thread based or process-based environment based on default environment specified in your default profile.
You can use below attached link to know how to check your default profile in MATLAB:
I am assuming that you have set thread-based environment as default environment in your default profile.
Note that thread-based environments support only a subset of the MATLAB functions available for process workers. Currently thread-based environment doesn’t support bayesopt function. It might be possible that no training is initialized by using current workflow, so the “Episode Manager” tries to open with nothing to display, causing the error “Unable to open the requested feature”.
So, you need to use process based parallel pool environment for running bayesopt function.
To resolve the issue, you can start parpool with process-based environment.
% Syntax for creating parpool with process-based environment.
parpool( 'Processes',2);
Also note that parallel training and simulation of agents using recurrent neural networks, or agents within multi-agent environments, is not supported in thread-based environment. If you are using train function in your code avoid using thread-based environment for parallel pool.
You can check list of MATLAB functions supported in thread-based environment here:
Hope this helps.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by