Why I keep receiving this message: "For deep learning, the simulation target language must be set to C++"?
Show older comments
I am using MATLAB R2021b (the latest version). This error also occured in the previous version.
I replaced the "RL Agent" block with a "MATLAB Function" block containing the policy generated for my controller.
I keep receiving this message even after I changed the taget language from "C" to 'C++".
For deep learning, the simulation target language must be set to C++. Function 'MATLAB Function' (#66.286.341), line 13, column 11: "coder.loadDeepLearningNetwork('agentData.mat','policy')" Launch diagnostic report.
Component:MATLAB Function | Category:Coder error
Persistent variable 'policy' must be assigned before it is used. The only exception is a check using 'isempty(policy)' that can be performed prior to assignment. Function 'MATLAB Function' (#66.398.404), line 16, column 19: "policy" Launch diagnostic report.
Component:MATLAB Function | Category:Coder error
Function call failed. Function 'MATLAB Function' (#66.140.167), line 7, column 11: "localEvaluate(observation1)" Launch diagnostic report.
Component:MATLAB Function | Category:Coder error
Errors occurred during parsing of MATLAB function 'IntegratedSys/MATLAB Function'
Component:MATLAB Function | Category:Coder error
Errors occurred during parsing of MATLAB function 'IntegratedSys/MATLAB Function'
This is the code inside the "MATLAB Function" blcok (which I generated it using the function "generatePolicyFunction"):
function action1 = evaluatePolicy(observation1)
%#codegen
% Reinforcement Learning Toolbox
% Generated on: 26-Sep-2021 07:01:45
action1 = localEvaluate(observation1);
end
%% Local Functions
function action1 = localEvaluate(observation1)
persistent policy
if isempty(policy)
policy = coder.loadDeepLearningNetwork('agentData.mat','policy');
end
observation1 = observation1(:)';
action1 = predict(policy, observation1);
end


3 Comments
Walter Roberson
on 26 Sep 2021
I note you are using R2021b and that you have LCC-win64 configured. However I notice in https://www.mathworks.com/support/requirements/supported-compilers.html that LCC-win64 is not supported for R2021b.
Ismaeel
on 26 Sep 2021
Walter Roberson
on 26 Sep 2021
Answers (1)
宝
on 25 Jul 2022
0 votes
Is 2022 now,this question still here!
2 Comments
Walter Roberson
on 25 Jul 2022
The original poster was trying to use LCC-win64 2.4.1 as the compiler, but R2021b supports only MinGW 6.3, VS 2019, and VS 2017 for those purposes.
chaoyang
on 17 Jun 2024
May I ask if you have resolved it? I have encountered the same problem
Categories
Find more on Robotics 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!