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

6 visualizaciones (últimos 30 días)
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 comentarios
Ismaeel
Ismaeel el 26 de Sept. de 2021
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 el 26 de Sept. de 2021
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

Iniciar sesión para comentar.

Respuestas (1)

宝
el 25 de Jul. de 2022
Is 2022 now,this question still here!
  2 comentarios
Walter Roberson
Walter Roberson el 25 de Jul. de 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.

Iniciar sesión para comentar.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by