coder.loadDeepLearningNetwork

负载深度学习网络模型

描述

= coder.loadDeepLearningNetwork(文档名称加载预训练深度学习SeriesNetworkDAGNetworkyolov2ObjectDetector, 要么ssdObjectDetector对象保存在文档名称MAT文件。文档名称必须是现有的MATLAB有效的MAT文件®含有单个路径SeriesNetworkDAGNetworkyolov2ObjectDetector, 要么ssdObjectDetector宾语。在MAT文件必须包含要加载只有网络。

= coder.loadDeepLearningNetwork(functionname调用一个函数返回一个预训练的深度学习SeriesNetworkDAGNetworkyolov2ObjectDetector, 要么ssdObjectDetector宾语。functionname必须是一个函数的现有的MATLAB路径上的名称回报SeriesNetworkDAGNetworkyolov2ObjectDetector, 要么ssdObjectDetector宾语。

= coder.loadDeepLearningNetwork(___网络名称是相同的净= coder.loadDeepLearningNetwork(文件名)与选项命名从网络中产生的C ++类。网络名称是用于通过函数保存在MAT-文件或指向的网络对象的描述性名称。网络名称必须是烧焦键入是在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进入持久我的网SeriesNetwork宾语。

功能OUT = myVGG16(上)一贯我的网;如果的isEmpty(我的网)我的网= coder.loadDeepLearningNetwork('vgg16.mat''myVGGnet');结束OUT =预测(我的网,在);

持久对象避免了重建,并在后续调用重新加载所述网络对象的功能调用预测方法对输入。

预训练的输入层VGG-16网络接受尺寸的图像224x224x3。使用的代码的以下各行从图形文件读取的输入图象和大小重新调整为224x224

在= imread('peppers.png');在= imresize(在,[224224]);

创建一个coder.config为MEX代码生成配置对象,并设置目标语言为C ++。上配置对象,组DeepLearningConfigtargetlib'mkldnn'。该代码生成功能必须确定大小,类和MATLAB的功能的输入的复杂性。使用-args选项来指定输入到入口点函数的大小。使用-config选项来传递代码配置对象。

CFG = coder.config('MEX');cfg.TargetLang ='C ++';cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn');代码生成-args{酮(224,224,3, 'UINT8')}-configCFGmyVGG16-报告;

代码生成命令将所有在生成的文件代码生成夹。所述文件夹中包含的C ++的入口点函数代码myVGG16.cpp,含有用于卷积神经网络的C ++类的定义(CNN)报头和源文件,重量和偏压文件。

呼叫VGG-16预测在输入图像上,并显示前五个预测标签。

predict_scores = myVGG16_mex(IN);[分数,INDX] =排序(predict_scores,“降序”);净= coder.loadDeepLearningNetwork('vgg16.mat');类名= net.Layers(结束).Classes;DISP(类名(INDX(1:5)));
青椒黄瓜杂货店橡子南瓜南瓜

使用的coder.loadDeepLearningNetwork功能到负载的resnet50系列网络并生成CUDA®该网络代码。

创建一个入口点函数resnetFun使用该coder.loadDeepLearningNetwork函数调用的深度学习工具箱™工具箱功能resnet50。这个函数返回一个预先训练RESNET-50网络。

功能OUT = resnetFun(上)一贯我的网;如果的isEmpty(我的网)我的网= coder.loadDeepLearningNetwork('resnet50''myresnet');结束OUT =预测(我的网,在);

持久对象避免了重建,并在后续调用重新加载所述网络对象的功能调用预测方法对输入。

预训练的输入层RESNET-50网络接受尺寸的图像224x224x3。要阅读从图形文件输入图像,并将其调整到224x224中,使用的下面几行代码:

在= imread('peppers.png');在= imresize(在,[224224]);

创建一个coder.gpuConfig为MEX代码生成配置对象,并设置目标语言为C ++。该代码生成功能必须确定大小,类和MATLAB的功能的输入的复杂性。使用-args选项来指定输入的大小,入口点函数和-config选项来传递代码配置对象。

CFG = coder.gpuConfig('MEX');cfg.TargetLang ='C ++';cfg.DeepLearningConfig = coder.DeepLearningConfig('cudnn');代码生成-args{酮(224,224,3, 'UINT8')}-configCFGresnetFun-报告;

代码生成命令将所有在生成的文件代码生成夹。它包含了入口点函数的代码CUDAresnetFun.cu,含有用于卷积神经网络的C ++类的定义(CNN)报头,和源文件,重量,和偏置文件。

输入参数

全部收缩

指定MAT文件中包含名称预训练SeriesNetworkDAGNetworkyolov2ObjectDetector, 要么ssdObjectDetector宾语。

数据类型:

该功能的指定名称的回报预训练SeriesNetworkDAGNetworkyolov2ObjectDetector, 要么ssdObjectDetector宾语。

数据类型:

网络对象的描述性名称保存在MAT文件。它必须是一个烧焦键入是在C ++中一个有效的标识符。

数据类型:烧焦

输出参数

全部收缩

网络推理,返回为SeriesNetworkDAGNetworkyolov2ObjectDetector, 要么ssdObjectDetector宾语。

限制

  • coder.loadDeepLearningNetwork不支持加载MAT文万博1manbetx件与多个网络。

  • 在MAT文件必须包含要加载只有网络。

介绍了在R2017b