主要内容

coder.loadDeepLearningNetwork

负载深度学习网络模型

描述

= coder.loadDeepLearningNetwork (文件名)加载一个pretrained深度学习SeriesNetwork(深度学习工具箱),DAGNetwork(深度学习工具箱),yolov2ObjectDetector(计算机视觉工具箱),ssdObjectDetector(计算机视觉工具箱),或dlnetwork(深度学习工具箱)对象保存在文件名MAT-file。文件名必须是一个有效的MAT-file现有MATLAB®路径包含一个SeriesNetwork,DAGNetwork,yolov2ObjectDetector,ssdObjectDetector,或dlnetwork对象。MAT-file必须只包含网络加载。

例子

= coder.loadDeepLearningNetwork (functionname)调用一个函数,返回一个pretrained深度学习SeriesNetwork,DAGNetwork,yolov2ObjectDetector,ssdObjectDetector,或dlnetwork对象。functionname必须是一个函数的名称在MATLAB路径返回一个现有的吗SeriesNetwork,DAGNetwork,yolov2ObjectDetector,ssdObjectDetector,或dlnetwork对象。

例子

= coder.loadDeepLearningNetwork (___,network_name)是一样的净= coder.loadDeepLearningNetwork(文件名)选择的名字从网络生成的c++类。network_name是一个描述性的名称网络对象保存在MAT-file或指向的函数。必须是一个网络名称字符类型,在c++中是一个有效的标识符。

使用这个函数生成代码时从网络对象推理。这个函数生成一个c++类从这个网络。类名来源于MAT-file名或函数名。

请注意

的输入参数coder.loadDeepLearningNetwork必须是一个编译时常量。

例子

全部折叠

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

得到包含pretrained MAT-fileVGG-16网络。

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

创建一个入口点函数myVGG16使用coder.loadDeepLearningNetwork函数加载vgg16.mat在持续mynetSeriesNetwork对象。

函数= myVGG16(中)持续的mynet;如果isempty (mynet) mynet = coder.loadDeepLearningNetwork (“vgg16.mat”,“myVGGnet”);结束=预测(mynet,);

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

的输入层pretrainedVGG-16网络接收的图像的大小224年x224x3。使用以下代码来读取一个输入图像从一个图形文件和调整224年x224

在= imread (“peppers.png”);在= imresize(在[224224]);

创建一个coder.config配置对象为墨西哥人代码生成和设置目标语言c++。配置对象,集DeepLearningConfigtargetlib作为“mkldnn”。的codegen函数必须确定大小、阶级和MATLAB函数输入的复杂性。使用arg游戏选择指定的大小的入口点函数的输入。使用配置选择通过配置对象的代码。

cfg = coder.config (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“mkldnn”);codegenarg游戏{(224224 3 uint8)}配置cfgmyVGG16报告;

codegen命令所有生成的文件的地方codegen文件夹中。的文件夹包含c++代码入口点函数myVGG16.cpp,头文件和源文件包含的c++类定义复杂的神经网络(CNN),重量和偏见文件。

调用VGG-16预测的输入图像和显示五大预测标签。

predict_scores = myVGG16_mex(的);[分数,indx] =排序(predict_scores“下”);网= coder.loadDeepLearningNetwork (“vgg16.mat”);一会= net.Layers . class(结束);disp(类名(indx (1:5)));
甜椒黄瓜杂货店小青南瓜冬南瓜

的使用coder.loadDeepLearningNetwork函数加载一个resnet50并生成CUDA系列网络®网络代码。

创建一个入口点函数resnetFun使用coder.loadDeepLearningNetwork函数调用深度学习工具箱™工具箱函数resnet50。这个函数返回一个pretrainedResNet-50网络。

函数= resnetFun(中)持续的mynet;如果isempty (mynet) mynet = coder.loadDeepLearningNetwork (“resnet50”,“myresnet”);结束=预测(mynet,);

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

的输入层pretrainedResNet-50网络接收的图像的大小224年x224x3。从图形文件读取一个输入图像和调整224年x224使用以下代码:

在= imread (“peppers.png”);在= imresize(在[224224]);

创建一个coder.gpuConfig配置对象为墨西哥人代码生成和设置目标语言c++。的codegen函数必须确定大小、阶级和MATLAB函数输入的复杂性。使用arg游戏选择指定的大小的入口点函数和输入配置选择通过配置对象的代码。

cfg = coder.gpuConfig (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“cudnn”);codegenarg游戏{(224224 3 uint8)}配置cfgresnetFun报告;

codegen命令所有生成的文件的地方codegen文件夹中。它包含的CUDA代码入口点函数resnetFun.cu、头和c++源文件包含类定义的复杂神经网络(CNN),重量和偏见文件。

输入参数

全部折叠

指定的名称包含pretrained MAT-fileSeriesNetwork,DAGNetwork,yolov2ObjectDetector,ssdObjectDetector,或dlnetwork对象。

这个输入参数必须是一个编译时常量。

数据类型:字符串

指定名称的函数,返回一个pretrainedSeriesNetwork,DAGNetwork,yolov2ObjectDetector,ssdObjectDetector,或dlnetwork对象。

这个输入参数必须是一个编译时常量。

数据类型:字符串

描述性的名称保存在MAT-file网络对象。它必须是一个字符类型,在c++中是一个有效的标识符。

这个输入参数必须是一个编译时常量。

数据类型:字符

输出参数

全部折叠

网络推理,作为一个返回SeriesNetwork,DAGNetwork,yolov2ObjectDetector,ssdObjectDetector,或dlnetwork对象。

限制

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

  • MAT-file必须只包含网络加载。

扩展功能

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

GPU的代码生成
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。

版本历史

介绍了R2017b