主要内容

importCaffeNetwork

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

描述

例子

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

这个函数需要深度学习工具箱™Caffe模型进口商万博1manbetx支持包。如果未安装该支持万博1manbetx包,则提供下载链接。

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

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

例子

全部折叠

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

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

importCaffeNetwork

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

指定要导入的文件。

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

进口网络。

net = importCaffeNetwork(原型文件,数据文件)
net = SeriesNetwork with properties: 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计算库。有关更多信息,请参见GPU编码器的深度学习(GPU编码器)

importCaffeNetwork返回网络作为一个DAGNetworkSeriesNetwork对象。这两个对象都支持代码生成。万博1manbetx欲知更多有关MATLAB编码器和GPU编码器对深度学习工具万博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中引入

全部展开