主要内容

Coder.LoadDeePlearningnetwork.

负载深度学习网络模型

描述

= coder.loadDeepLearningNetwork (文档名称的)加载普里雷普雷雷深度学习系列网络(深度学习工具箱)Dagnetwork.(深度学习工具箱)Yolov2ObjectDetector.(电脑视觉工具箱), 或者ssdobjectdetector.(电脑视觉工具箱)对象保存在文档名称MAT-file。文档名称必须是matlab上存在的有效垫文件®含有单个的路径系列网络Dagnetwork.Yolov2ObjectDetector., 或者ssdobjectdetector.对象。MAT文件必须仅包含要加载的网络。

例子

= coder.loadDeepLearningNetwork (functionName.的)呼叫返回佩带深度学习的函数系列网络Dagnetwork.Yolov2ObjectDetector., 或者ssdobjectdetector.对象。functionName.必须是MATLAB路径上存在的函数名,该路径返回系列网络Dagnetwork.Yolov2ObjectDetector., 或者ssdobjectdetector.对象。

例子

= coder.loadDeepLearningNetwork (___网络名称的)是相同的净= coder.loadDeepLearningNetwork(文件名)使用选项命名从网络生成的C ++类。网络名称是对保存在mat -文件中或由函数指向的网络对象的描述性名称。网络名称必须为a字符类型为C ++中的有效标识符。

当从网络对象推断生成代码时使用此函数。这个函数从这个网络生成一个c++类。类名派生自mat文件名或函数名。

例子

全部收缩

的使用Coder.LoadDeePlearningnetwork.函数来加载VGG-16串联网络,并为该网络生成c++代码。

获取包含预训练的mat文件VGG-16网络。

url =“//www.tianjin-qmedu.com/万博1manbetxsupportfiles/gpucoder/cnn_models/VGG/vgg16.mat”;WebSave('vgg16.mat'url);

创建一个入口函数myVGG16这是用来的Coder.LoadDeePlearningnetwork.函数来加载vgg16.mat在持续my系列网络对象。

函数OUT = MyVGG16(in)执着的mynet;如果mynet = code . loaddeepleningnetwork ()'vgg16.mat''myvggnet');结尾出局=预测(Mynet,In);

持久对象避免在后续调用函数中重建和重新加载网络对象来调用预测方法的输入。

预训练的输入层VGG-16网络接受大小的图像224x224x3..使用以下代码行从图形文件中读取输入图像并将其调整为大小224x224

在= imread(“peppers.png”);In = Imresize([224,224]);

创建一个Coder.config.配置对象,用于生成MEX代码,并将目标语言设置为c++。在配置对象上设置DeepLearningConfigtargetlib.作为'mkldnn'.这Codegen.函数必须确定MATLAB函数输入的大小,类和复杂性。使用- args.选项指定输入点函数的输入大小。使用-Config.选项可通过代码配置对象。

cfg = coder.config('mex');cfg.targetlang ='c ++';cfg.deeplearningconfig = coder.deeplearningconfig('mkldnn');Codegen.-  args.{ONE(224,224,3,'UINT8')}-Config.CFG.myVGG16报告;

Codegen.命令将所有生成的文件放在其中Codegen.文件夹。该文件夹包含入口点函数的C ++代码myvgg16.cpp.头文件和源文件包含c++类定义的卷积神经网络(CNN),权重和偏差文件。

称呼VGG-16预测输入图像并显示前五个预测标签。

predict_scores = myVGG16_mex(的);[分数,indx] =排序(predict_scores“下降”);net = coder.loaddeeplearningnetwork('vgg16.mat');ClassNames = Net.Layers(END).Classes;DISP(ClassNames(Indx(1:5))));
甜椒黄瓜杂货店橡子南瓜胡桃南瓜

的使用Coder.LoadDeePlearningnetwork.函数来加载resnet50系列网络和生成CUDA®此网络的代码。

创建一个入口函数Resnetfun.这是用来的Coder.LoadDeePlearningnetwork.函数调用Deep Learning Toolbox™工具箱函数resnet50.此功能返回佩带ResNet-50网络。

函数OUT = RESNETFUN(IN)执着的mynet;如果mynet = code . loaddeepleningnetwork ()'resnet50''myresnet');结尾出局=预测(Mynet,In);

持久对象避免在后续调用函数中重建和重新加载网络对象来调用预测方法的输入。

预训练的输入层ResNet-50网络接受大小的图像224x224x3..从图形文件中读取输入图像并将其大小调整为224x224,使用以下代码行:

在= imread(“peppers.png”);In = Imresize([224,224]);

创建一个coder.gpuconfig配置对象,用于生成MEX代码,并将目标语言设置为c++。这Codegen.函数必须确定MATLAB函数输入的大小,类和复杂性。使用- args.选项指定输入点函数的输入大小和-Config.选项可通过代码配置对象。

cfg = coder.gpuconfig('mex');cfg.targetlang ='c ++';cfg.deeplearningconfig = coder.deeplearningconfig(“cudnn”);Codegen.-  args.{ONE(224,224,3,'UINT8')}-Config.CFG.Resnetfun.报告;

Codegen.命令将所有生成的文件放在其中Codegen.文件夹。它包含用于切入点函数的CUDA代码resnetFun.cu头文件和源文件包含c++类定义的卷积神经网络(CNN),权重和偏差文件。

输入参数

全部收缩

指定包含预训练对象的mat文件的名称系列网络Dagnetwork.Yolov2ObjectDetector., 或者ssdobjectdetector.对象。

数据类型:细绳

指定返回备用函数的函数的名称系列网络Dagnetwork.Yolov2ObjectDetector., 或者ssdobjectdetector.对象。

数据类型:细绳

保存在Mat文件中的网络对象的描述性名称。它必须是一个字符类型为C ++中的有效标识符。

数据类型:字符

输出参数

全部收缩

网络推论,作为一个返回系列网络Dagnetwork.Yolov2ObjectDetector., 或者ssdobjectdetector.对象。

限制

  • Coder.LoadDeePlearningnetwork.不支持使用多个网络万博1manbetx加载Mat文件。

  • MAT文件必须仅包含要加载的网络。

扩展能力

C / C ++代码生成
使用MATLAB®Coder™生成C和c++代码。

GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

介绍在R2017B.