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