为深度学习网络生成通用C/ c++代码
与MATLAB®编码器™,您可以从已经训练好的神经网络中生成通用的C或c++代码进行预测。生成的C/ c++代码不依赖于任何第三方库。生成的代码实现了一个具有在输入中指定的体系结构、层和参数的神经网络SeriesNetwork
(深度学习工具箱)或DAGNetwork
(深度学习工具箱)网络对象。看到代码生成支持的网络和层金宝app.
使用以下方法之一生成代码:
标准的
codegen
命令用于从MATLAB代码生成C/ c++代码。的MATLAB编码器应用程序。
需求
在Windows上®,用于深度学习网络的代码生成
codegen
功能要求微软®Visual Studio®还是MinGW®编译器。深度学习库的MATLAB编码器接口.要安装此支持包,请从MATLAB金宝app中选择它附加组件菜单。
深度学习工具箱™。
使用代码生成codegen
在MATLAB中编写一个入口点函数:
使用
coder.loadDeepLearningNetwork
函数来构造和设置一个网络对象。有关更多信息,请参见为代码生成加载预训练的网络.调用
预测
(深度学习工具箱)方法对网络的入口点函数进行输入。指定一个
MiniBatchSize
在预测
方法来管理对多个输入图像或观察结果进行预测的内存使用情况。
例如:
函数Out = my_predict(in)% # codegen一个持久对象mynet用于加载系列网络对象。在第一次调用此函数时,将构造持久对象%设置。当该函数随后被调用时,将重用相同的对象的方法调用predict,从而避免重新构造和重新加载%网络对象。持续的mynet;如果mynet = code . loaddeeplearningnetwork (mynet)“myNetwork.mat”);结束输入合格率Out = predict(mynet,in, in,“MiniBatchSize”2);
创建深度学习配置对象
dlconfig
类配置为生成通用的C/ c++代码编码器。DeepLearningConfig
函数。Dlconfig =编码器。DeepLearningConfig (TargetLibrary =“没有”);
为MEX或静态或动态链接库创建代码生成配置对象。默认情况下,代码生成器生成通用C代码。若要生成通用c++代码,请在代码生成配置对象中设置
TargetLang
参数“c++”
.设置DeepLearningConfig
参数设置为先前创建的对象dlconfig
.CFG = code .config(“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = dlconfig;
运行
codegen
命令。使用配置
选项指定配置对象。使用arg游戏
选项指定输入类型。codegen配置cfgmy_predictarg游戏{myInput}报告
请注意
您可以为代码生成指定半精度输入。但是,代码生成器类型将输入强制转换为单精度。深度学习工具箱对MATLAB中的所有计算使用单精度浮点算法。
代码生成使用MATLAB编码器应用程序
按照通常的步骤指定入口点函数和指定输入类型。看到使用MATLAB Coder App生成C代码.
在生成代码步骤:
集语言要么C或c++.
点击更多的设置.在深度学习窗格中,设置目标库来
没有一个
.
生成的代码。
另请参阅
codegen
|编码器。DeepLearningConfig
|coder.loadDeepLearningNetwork