将 MATLAB 预训练神经网络代码部署到 C++

问题描述 投票:0回答:1

我需要使用 Matlab 编码器包才能将 Matlab 函数部署到 C++。 我的函数训练一个网络,然后用它来预测一些新数据。

我看到“train”Matlab函数无法部署,因此网络在Matlab环境中训练后首先需要保存为“Mat”文件,然后需要加载它(作为Mat文件),并用于预测我的数据。 问题是 Matlab 编码器不喜欢“加载”函数,该函数尝试加载预训练的网络。

简而言之,如何将预训练的 Matlab 神经网络部署到 C++ dll,并从那里调用该函数?

谢谢, 加尔

我尝试部署我的函数,但在 Matlab 编码器向导中加载('net')失败。

c++ neural-network matlab-deployment
1个回答
0
投票

我不认为仅仅通过将 Matlab 代码部署到 C++ 就能以简单的方式做到这一点。更正确的方法是专业,尽管有点困难:

  1. 将 Matlab 模型转换为某种中间表示形式,例如 ONNX。看看这里。其他选项可以是tensorflow或pytorch
  2. 使用相关的运行时,例如onnxruntime、tflite 或 pytorch 对应项,在 C++ 中运行推理

  1. 将您的tensorflow/pytorch模型转换为ONNX,然后将ONNX转换为tensorrt并使用它的运行时进行推理
© www.soinside.com 2019 - 2024. All rights reserved.