主要内容

importCaffeNetwork

从Caffe导入预先训练的卷积神经网络模型

描述

例子

= importCaffeNetwork (protofile数据文件从Caffe导入一个预先训练好的网络[1].方法指定的体系结构返回预先训练的网络.prototxt文件protofile和指定的网络权重.caffemodel文件数据文件

这个函数需要深度学习工具箱™导入Caffe模型万博1manbetx支持包。如果没有安装此支万博1manbetx持包,则该功能提供下载链接。

你可以从Caffe Model Zoo下载预先训练好的网络[2]

= importCaffeNetwork (___名称,值返回具有一个或多个指定的附加选项的网络名称,值使用任何前面的语法对参数。

例子

全部折叠

下载和安装Caffe模型的深度学习工具箱导入器万博1manbetx支持包。

要下载所需的支持包,请键入万博1manbetximportCaffeNetwork在命令行。

importCaffeNetwork

如果Caffe模型的深度学习工具箱导入器万博1manbetxsupport包未安装,则该功能将在Add-On资源管理器中提供到所需支持包的链接。如果需要安装支持包,请单击链接万博1manbetx,然后单击安装

指定要导入的文件。

protofile =“digitsnet.prototxt”;外部=“digits_iter_10000.caffemodel”

进口网络。

net = importCaffeNetwork(原始文件,数据文件)
net =带有属性的SeriesNetwork: Layers: [7×1 nnet.cnn.layer.Layer] InputNames: {'testdata'} OutputNames: {'ClassificationOutput'}

输入参数

全部折叠

的文件名.prototxt包含网络体系结构的文件,指定为字符向量或字符串标量。protofile必须在当前文件夹中,在MATLAB®路径,或者必须包含文件的完整路径或相对路径。如果.prototxt文件没有指定输入数据的大小,您必须使用“InputSize”名称-值对参数。

例子:“digitsnet.prototxt”

的文件名.caffemodel包含网络权重的文件,指定为字符向量或字符串标量。数据文件必须在当前文件夹中,在MATLAB路径的文件夹中,或者必须包含文件的完整或相对路径。若要导入无权重的网络层,请使用importCaffeLayers

例子:“digits_iter_10000.caffemodel”

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:importCaffeNetwork (protofile丢失,‘AverageImage’,我)使用平均图像导入预训练的网络对于零中心归一化。

输入数据的大小,指定为行向量。指定两个或三个整数值的向量(h, w),或[w h, c]对应于输入数据的高度、宽度和通道数。如果.prototxt文件没有指定输入数据的大小,那么必须指定输入大小。

例子:[28 28 1]

用于零中心归一化的平均图像,指定为矩阵。如果指定图像,则必须指定与输入数据相同大小的图像。文件中指定的数据.prototxt文件,如果有。否则,该函数将设置归一化属性的图像输入层的网络“没有”

类,指定为分类向量、字符串数组、字符向量的单元格数组或“汽车”.如果指定字符串数组或字符向量的单元格数组str,则软件将输出层的类设置为分类(str, str).如果“汽车”,然后函数将类设置为分类(1:N),在那里N是类的数量。

数据类型:字符|分类|字符串|细胞

输出参数

全部折叠

进口训练有素的Caffe网络,返回作为SeriesNetwork对象或DAGNetwork对象。接受彩色图像作为输入的Caffe网络期望图像是BGR格式的。在导入期间,importCaffeNetwork修改网络,使导入的MATLAB网络以RGB图像作为输入。

更多关于

全部折叠

为导入网络生成代码

你可以用MATLAB编码器™或GPU Coder™与深度学习工具箱一起生成MEX,独立CPU, CUDA®MEX,或用于导入网络的独立CUDA代码。有关更多信息,请参见深度学习代码生成

  • 使用MATLAB编码器使用深度学习工具箱生成MEX或独立CPU代码,在桌面或嵌入式目标上运行。您可以部署生成的独立代码,使用Intel®MKL-DNN库或ARM®计算库。另外,您也可以生成不调用第三方库函数的通用C或c++代码。有关更多信息,请参见基于MATLAB编码器的深度学习(MATLAB编码器)

  • 使用GPU编码器与深度学习工具箱生成CUDA MEX或独立CUDA代码,运行在桌面或嵌入式目标。您可以部署生成的独立CUDA代码,使用CUDA深度神经网络库(cuDNN)、TensorRT™高性能推理库或用于Mali GPU的ARM Compute库。有关更多信息,请参见GPU Coder深度学习(GPU编码器)

importCaffeNetwork返回网络作为一个DAGNetworkSeriesNetwork对象。这两个对象都支持代码生成。万博1manbetx如欲了解更多有关MATLAB编码器以及GPU Coder对深度万博1manbetx学习工具箱对象的支持,参见万博1manbetx支持类(MATLAB编码器)而且万博1manbetx支持类(GPU编码器),分别。

您可以为任何导入的网络生成代码,其层支持代码生成。万博1manbetx以获取支持代码生成的层的列表万博1manbetxMATLAB编码器和GPU Coder,见万博1manbetx支持层(MATLAB编码器)而且万博1manbetx支持层(GPU编码器),分别。有关每个内置MATLAB层的代码生成功能和限制的更多信息,请参阅该层的扩展功能部分。例如,参见代码生成而且GPU代码生成imageInputLayer

GPU使用“导入网络”

importCaffeNetwork不会在GPU上执行。然而,importCaffeNetwork导入深度学习的预训练神经网络作为DAGNetworkSeriesNetwork对象,你可以在GPU上使用。

  • 可以在CPU或GPU上使用导入的网络进行预测分类.使用name-value参数指定硬件需求ExecutionEnvironment.对于具有多个输出的网络,请使用预测函数。

  • 可以在CPU或GPU上使用导入的网络进行预测预测.使用name-value参数指定硬件需求ExecutionEnvironment.如果网络有多个输出,则指定name-value参数ReturnCategorical作为真正的

  • 导入的网络可以在CPU或GPU上进行训练trainNetwork.要指定培训选项,包括用于执行环境的选项,请使用trainingOptions函数。使用name-value参数指定硬件需求ExecutionEnvironment.有关如何加速训练的更多信息,请参见在并行、gpu和云上扩展深度学习

使用GPU需要并行计算工具箱™和支持的GPU设备。万博1manbetx有关支持的设备的信息,请参见万博1manbetxGPU计算要求(并行计算工具箱)

提示

参考文献

[2]Caffe模型动物园https://caffe.berkeleyvision.org/model_zoo.html

扩展功能

版本历史

在R2017a中介绍

全部展开