coder.loadDeepLearningNetwork

加载深度学习网络模型

描述

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

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

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

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

例子

全部收缩

的使用coder.loadDeepLearningNetwork加载函数VGG-16系列网络,并为此网络生成c++代码。

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

url =“//www.tatmou.com/金宝appsupportfiles/gpucoder/cnn_models/VGG/vgg16.mat”;websave('vgg16.mat'url);

创建一个入口点函数myVGG16使用该coder.loadDeepLearningNetwork函数来加载vgg16.mat进入持久我的网SeriesNetwork对象。

函数OUT = myVGG16(上)一贯我的网;如果mynet = code . loaddeeplearningnetwork ('vgg16.mat''myVGGnet');结束OUT =预测(我的网,在);

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

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

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

创建一个coder.config配置对象,用于生成MEX代码并将目标语言设置为c++。在configuration对象上设置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,包含卷积神经网络(CNN)的c++类定义的头文件和源文件,权值和偏差文件。

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

predict_scores = myVGG16_mex(的);[分数,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(上)一贯我的网;如果mynet = code . 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,头文件和源文件,其中包含卷积神经网络(CNN)的c++类定义、权值和偏差文件。

输入参数

全部收缩

指定包含预训练的mat文件的名称SeriesNetworkDAGNetworkyolov2ObjectDetector, 要么ssdObjectDetector对象。

数据类型:

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

数据类型:

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

数据类型:字符

输出参数

全部收缩

网络推理,返回为SeriesNetworkDAGNetworkyolov2ObjectDetector, 要么ssdObjectDetector对象。

限制

  • coder.loadDeepLearningNetwork不支持加载MAT文金宝app件与多个网络。

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

介绍了在R2017b