为代码生成加载预训练的网络
您可以为预训练的卷积神经网络(CNN)生成代码。若要向代码生成器提供网络,请加载SeriesNetwork
(深度学习工具箱),DAGNetwork
(深度学习工具箱),yolov2ObjectDetector
(计算机视觉工具箱),ssdObjectDetector
(计算机视觉工具箱),或dlnetwork
(深度学习工具箱)对象。
通过使用加载网络coder.loadDeepLearningNetwork
可以从任何支持代码生成的网络中加载网络对象金宝appcoder.loadDeepLearningNetwork
.您可以从mat文件指定网络。mat文件必须只包含要加载的网络。
例如,假设您创建了一个经过训练的网络对象myNet
通过使用trainNetwork
(深度学习工具箱)函数。然后,通过输入保存工作空间保存
.这将创建一个名为matlab.mat
其中包含网络对象。加载网络对象myNet
,输入:
net = code . loaddeeplearningnetwork (“matlab.mat”);
还可以通过提供不接受输入参数并返回预训练的函数名来指定网络SeriesNetwork
,DAGNetwork
,yolov2ObjectDetector
,或ssdObjectDetector
对象,例如:
alexnet
(深度学习工具箱)darknet19
(深度学习工具箱)darknet53
(深度学习工具箱)densenet201
(深度学习工具箱)googlenet
(深度学习工具箱)inceptionv3
(深度学习工具箱)inceptionresnetv2
(深度学习工具箱)mobilenetv2
(深度学习工具箱)nasnetlarge
(深度学习工具箱)nasnetmobile
(深度学习工具箱)resnet18
(深度学习工具箱)resnet50
(深度学习工具箱)resnet101
(深度学习工具箱)squeezenet
(深度学习工具箱)vgg16
(深度学习工具箱)vgg19
(深度学习工具箱)xception
(深度学习工具箱)
例如,通过输入以下命令加载一个网络对象:
net = code . loaddeeplearningnetwork (“googlenet”);
前面列表中的“深度学习工具箱™”函数要求您为该函数安装支持包。金宝app看到预训练的深度神经网络(深度学习工具箱).
为代码生成指定一个网络对象
如果您通过使用codegen
或应用程序,在你的入口点函数内加载网络对象通过使用coder.loadDeepLearningNetwork
.例如:
函数out = myNet_predict(in)% # codegen持续的mynet;如果mynet = code . loaddeeplearningnetwork (mynet)“matlab.mat”);结束Out = predict(mynet,in);
对于预先训练的网络,可用作支持包功能,如金宝appalexnet
,inceptionv3
,googlenet
,resnet
时,可直接指定支持包功能,如金宝appMynet = googlenet
.
接下来,为入口点函数生成代码。例如:
cfg = code . gpuconfig (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“cudnn”);codegenarg游戏{(224224 3,“单”)}配置cfgmyNet_predict
指定一个dlnetwork
代码生成对象
假设你有一个预先训练好的dlnetwork
对象中的网络对象mynet.mat
MAT-file。为了预测该网络的响应,在MATLAB中创建一个入口点函数®如本代码所示。
函数a = myDLNet_predict(in) dlIn = dlarray(in,SSC的);持续的dlnet;如果isempty(dlnet) dlnet = code . loaddeeplearningnetwork (“mynet.mat”);结束dlA = predict(dlnet, dlIn);a = extractdata(dlA);结束
在本例中,输入和输出为myDLNet_predict
是更简单的数据类型和dlarray
对象在函数中创建。的extractdata
(深度学习工具箱)方法dlarray
对象中的数据返回dlarray
国防后勤局
作为的输出myDLNet_predict
.输出一个
中具有与底层数据类型相同的数据类型国防后勤局
.这种入口点设计有以下优点:
更容易与独立的代码生成工作流集成,例如静态、动态库或可执行文件。
的输出的数据格式
extractdata
函数具有相同的顺序(“SCBTU”
)在MATLAB环境和生成的代码。改进MEX工作流程的性能。
简化模型金宝app®工作流使用MATLAB函数作为Simulink金宝app本身不支持的金宝app
dlarray
对象。
接下来,为入口点函数生成代码。例如:
cfg = code . gpuconfig (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“cudnn”);codegenarg游戏{(224224 3,“单”)}配置cfgmyDLNet_predict
另请参阅
功能
对象
SeriesNetwork
(深度学习工具箱)|DAGNetwork
(深度学习工具箱)|yolov2ObjectDetector
(计算机视觉工具箱)|ssdObjectDetector
(计算机视觉工具箱)|dlarray
(深度学习工具箱)|dlnetwork
(深度学习工具箱)