为深度学习网络生成通用C/C ++代码
和MATLAB®CODER™,您可以生成通用C或C ++代码,以从已经训练的神经网络预测。生成的C/C ++代码不取决于任何第三方库。生成的代码在输入中指定的架构,图层和参数实现神经网络系列网络
(深度学习工具箱)或者dagnetwork
(深度学习工具箱)网络对象。看支持代码生成的网络和层金宝app。
通过使用以下方法之一生成代码:
标准
代码根
从MATLAB代码生成C/C ++代码的命令。这MATLAB编码器应用程序。
要求
在窗户上®,与深度学习网络的代码生成
代码根
功能需要微软®视觉工作室®或mingw®编译器。深度学习库的MATLAB编码器界面。要安装此支持包,请从MATLAB金宝app中选择它附加组件菜单。
深度学习工具箱™。
使用代码生成代码根
在MATLAB中编写一个入口点功能:
使用
coder.loaddeeplearningnetwork
构建和设置网络对象的功能。有关更多信息,请参阅加载预告片的网络以生成代码。打电话
预测
(深度学习工具箱)入口点函数输入上的网络方法。指定a
MinibatchSize
在里面预测
管理内存使用量以预测多个输入图像或观测值的方法。
例如:
功能out = my_predict(in)%#codegen%持续的对象myNet用于加载串联网络对象。%在对此函数的第一个呼叫中,构造持续的对象,并且% 设置。当函数称为后续时间时,重复使用相同的对象百分比要预测输入,从而避免重建和重新加载%网络对象。执着的mynet;如果isempty(mynet)mynet = coder.loaddeeplearningnetwork('mynetwork.mat');结尾%通过输入out =预测(mynet,in,“ MINIBATCHSIZE”,2);
创建深度学习配置对象
dlconfig
该配置为用于生成通用C/C ++代码的代码coder.deeplearningconfig
功能。dlconfig = coder.deeplearningconfig(targetLibrary ='没有任何');
为MEX或静态或动态链接的库创建代码生成配置对象。默认情况下,代码生成器会产生通用C代码。要在您的代码生成配置对象中产生通用的C ++代码,请设置
TargetLang
参数为'C ++'
。设置深度学习
前面创建的对象的参数dlconfig
。cfg = coder.config('lib');cfg.targetlang ='C ++';cfg.deeplearningconfig = dlconfig;
跑过
代码根
命令。使用-config
选项指定配置对象。使用-args
指定输入类型的选项。代码根-configCFGmy_predict-args{myInput}-报告
笔记
您可以为代码生成指定半精确输入。但是,代码生成器类型将输入投入到单精度。深度学习工具箱使用单精制,浮点算术来用于MATLAB中的所有计算。
通过使用代码生成MATLAB编码器应用程序
请按照通常的步骤来指定入口点功能并指定输入类型。看使用MATLAB编码器应用程序生成C代码。
在里面生成代码步:
放语要点C或者C ++。
点击更多设置。在里面深度学习窗格,设置目标库至
没有任何
。
生成代码。
也可以看看
代码根
|coder.deeplearningconfig
|coder.loaddeeplearningnetwork