Import Keras Tensorflow Model into Simulink

35 views (last 30 days)
I've got a trained model from Python, which I need to run on Simulink for my application.
Is it possible to import trained Tensorflow Keras models and implement them in Simulink?
Cheers,
Lucas

Accepted Answer

sruthi gundeti
sruthi gundeti on 12 Sep 2020
Hi,
You can import your keras network using
net = importKerasNetwork(modelfile)
net = importKerasNetwork(modelfile,Name,Value)
model file can .h5 format ot json format with weights
Then write a entry level function for the imported network
function out = resnetFun(in)
persistent mynet;
if isempty(mynet)
mynet = coder.loadDeepLearningNetwork('resnet50', 'myresnet');
end
out = predict(mynet,in);
You can integrate MATLAB function into your Simulink model using the MATLAB Function Block.
You can execute your MATLAB code from within the model to read the input data from your sensor and then pass this data into your Simulink block.
Refer to this example on how to use a MATLAB function block in your model.
  2 Comments
sruthi gundeti
sruthi gundeti on 7 Jun 2021
VxNet=importKerasNetwork('Network.json','WeightFile','Network.h5','OutputLayerType','regression')
This can import a regression network

Sign in to comment.

More Answers (1)

Fernando Liozzi
Fernando Liozzi on 5 Jun 2021
Hi,
Is it possible to use this method to generate code for a microcontroller in c / c ++? Thank you.
  2 Comments
Jie Li
Jie Li on 13 Oct 2021
Hi, Fernando, Could you post how you put it in the simulink? My code says the importKerasNetwork cannot be used when complie.Thanks

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!