主要内容

用于代码生成的负载预训练网络

您可以为预训练卷积神经网络(CNN)生成代码系列网络(深度学习工具箱),达格网络(深度学习工具箱),Yolov2物体检测器(计算机视觉工具箱),SSD探测器(计算机视觉工具箱)数据链路网络(深度学习工具箱)来自培训的网络的对象。

通过使用加载网络coder.loadDeepLearningNetwork

您可以使用从任何支持代码生成的网络加载网络对象金宝appcoder.loadDeepLearningNetwork。您可以从MAT文件中指定网络。MAT文件必须仅包含要加载的网络。

例如,假设您创建了一个名为myNet通过使用列车网络(深度学习工具箱)功能。然后,您通过输入保存工作区拯救.这会创建一个名为matlab.mat包含网络对象的。若要加载网络对象myNet,输入:

net=coder.loadDeepLearningNetwork(“matlab.mat”);

您还可以通过提供返回预训练值的函数名来指定网络系列网络,达格网络,Yolov2物体检测器SSD探测器对象,例如:

例如,通过输入以下内容加载网络对象:

net=coder.loadDeepLearningNetwork(“谷歌网”);

深度学习工具箱™ 上一列表中的函数需要为该函数安装支持包。请参阅金宝app普里德深度神经网络(深度学习工具箱).

指定用于代码生成的网络对象

如果使用使用的代码编码基因或应用程序,通过使用将网络对象加载到您的入口点功能内coder.loadDeepLearningNetwork。例如:

功能out=我的净预测值(in)%#编码基因持久的mynet;如果isempty(mynet)mynet = coder.loaddeeplearningnetwork(“matlab.mat”);终止out=预测(mynet,in);

对于作为支持包功能提供的预训练网络,如金宝appAlexNet.,接收v3,水壶, 和resnet,您可以直接指定支持包函数,例如,通过编写金宝appmynet=谷歌网.

接下来,为入口点函数生成代码。例如:

cfg=coder.config(“墨西哥”); cfg.TargetLang=“C++”;cfg.DeepLearningConfig=coder.DeepLearningConfig(“mkldnn”);codegen-args{one(224224,3,'single')}-配置cfgmyNet_预测

指定一个数据链路网络用于代码生成的对象

假设你有一个预训练的数据链路网络中的网络对象mynet.mat垫锉。要预测该网络的响应,请在MATLAB中创建入口点函数®如本代码所示。

功能a=myDLNet_predict(in)dlIn=dlarray(in,“SSC”);持久的dlnet;如果isempty(dlnet)dlnet=coder.loadDeepLearningNetwork(“mynet.mat”);终止dlA=预测(dlnet,dlIn);a=提取数据(dlA);终止

在此示例中,输入和输出到myDLNet_是更简单的数据类型和dlarray对象是在函数中创建的提取数据(深度学习工具箱)方法dlarray对象返回dlarraydlA作为myDLNet_.输出A.具有与底层数据类型相同的数据类型dlA.该入口设计具有以下优点:

  • 更容易与独立代码生成工作流(如静态、动态库或可执行文件)集成。

  • 输出的数据格式提取数据函数具有相同的顺序('scbtu')在MATLAB环境下生成的代码。

  • 提高MEX工作流的性能。

  • 简化Simulink.金宝app®工作流使用MATLAB函数Simulink本身金宝app不支持的块金宝appdlarray物体。

接下来,为入口点函数生成代码。例如:

cfg=coder.config(“lib”); cfg.TargetLang=“C++”;cfg.DeepLearningConfig=coder.DeepLearningConfig(“mkldnn”);codegen-args{one(224224,3,'single')}-配置cfgmyDLNet_

另见

功能

物体

相关话题