Why I keep receiving this message: "For deep learning, the simulation target language must be set to C++"?

4 次查看(过去 30 天)
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 个评论
Ismaeel
Ismaeel 2021-9-26
Thank you Walter.
I am not professional in this filed and this term is new to me. I was wondering if there is a suported version of it or anything else that solves the problem.
I am also wondering why the message is not clear to the user. I followed what the message tells me and changed the setting accordingly, however, nothing changed.
Walter Roberson
Walter Roberson 2021-9-26
Supported in R2021b for those purposes:
MinGW 6.3 C/C++ (Distributor: mingw-w64) Available at no charge
Microsoft Visual C++ 2019 product family
Microsoft Visual C++ 2017 product family

请先登录,再进行评论。

回答(1 个)

宝
2022-7-25
Is 2022 now,this question still here!

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by