您可以为预训练的卷积神经网络(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本身不支持的金宝appdlarray
对象。
接下来,为入口点函数生成代码。例如:
cfg = code . gpuconfig (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“cudnn”);codegenarg游戏{(224224 3,“单”)}配置cfgmyDLNet_predict
SeriesNetwork
(深度学习工具箱)|DAGNetwork
(深度学习工具箱)|yolov2ObjectDetector
(计算机视觉工具箱)|ssdObjectDetector
(计算机视觉工具箱)|dlarray
(深度学习工具箱)|dlnetwork
(深度学习工具箱)