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

3 visualizzazioni (ultimi 30 giorni)
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 Commenti
Ismaeel
Ismaeel il 26 Set 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 il 26 Set 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

Accedi per commentare.

Risposte (1)

宝
il 25 Lug 2022
Is 2022 now,this question still here!
  1 Commento
Walter Roberson
Walter Roberson il 25 Lug 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.

Accedi per commentare.

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by