필터 지우기
필터 지우기

How can I generate C code from a Simulink model with a Neural Nework in the Matlab base workspace?

조회 수: 13 (최근 30일)
I have a Python Neural Network model, developped with Keras, and I want to embed it in a dSpace controller which works with C code. There is a dSpace Toolbox that imports a Simulink model in the controller by compiling it in C code, the 'Build Model' function.
I have succesfully imported my trained Python Neural Network in the Matlab Worspace with the Deep Learning Toolbox and the importKerasNetwork function. In Simulink I can use the Neural Network for prediction via the MATLAB function block with the following code and simulation of the Simulink model works :
%%%%%%%%%%%%%%
function y = fcn(X)
coder.extrinsic('evalin');
coder.extrinsic('predict');
NN = evalin('base','NN');
y = double(predict(NN,X));
%%%%%%%%%%%%%%
Here is my problem :
When I try to embed my Simulink model in the dSpace controller it doesn't work as :
  • coder.extrinsic is not compatible with code generation,
  • I am trying to embed a NN that is stored in the Matlab base workspace.
Should I rebuild my Neural Network in Simulink with the Simulink Deep Learning Toolbox blocks or is there a way to solve my problem in another way?
Thank you in advance for your time!

채택된 답변

Jyotish Kumar
Jyotish Kumar 2019년 11월 13일
Hi,
The code generator does not produce code for the body of the extrinsic function and instead uses the MATLAB® engine to execute the call. This functionality is available only when the MATLAB engine is available in MEX functions, Simulink® simulations, or during calls at compile time. For more information refer the link below
  댓글 수: 1
johnnynoc4sh
johnnynoc4sh 2021년 5월 19일
편집: johnnynoc4sh 2021년 5월 19일
Hi Kumar,
are there any options to integrate Keras / Tensorflow models into codegeneratable Simulink models? We are using a Speedgoat platform and I would use it for forecasting timeseries.
Best

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by