主要内容

importCaffeLayers

从Caffe导入卷积神经网络层

描述

例子

= importCaffeLayers (protofile进口咖啡的层次[1]网络。函数中定义的层.prototxt文件protofile

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

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

= importCaffeLayers (protofile“InputSize”,深圳指定输入数据的大小。如果.prototxt文件不指定输入数据的大小,则必须指定输入大小。

例子

全部折叠

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

通过键入下载所需的支持包万博1manbetximportCaffeLayers在命令行。

importCaffeLayers

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

指定示例文件“digitsnet.prototxt”进口。

protofile =“digitsnet.prototxt”

导入网络层。

layers = importCaffeLayers(原型文件)
Layer array with layers: 1' testdata' Image Input 28x28x1 images 2' conv1' Convolution 20 5x5x1 convolutions with stride [1 1] and padding [0 0] 3 'relu1' ReLU ReLU 4 'pool1' Max Pooling 2x2 Max Pooling with stride [2 2] and padding [0 0] 5 'ip1' Fully Connected 10 Fully Connected Layer 6 'loss' Softmax Softmax 7 'output' Classification output crossentropyex with 'class1', 'class2', and 8个其他类

输入参数

全部折叠

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

例子:“digitsnet.prototxt”

输入数据的大小,指定为行向量。指定由两个或三个整数值组成的向量(h, w),或[w h, c]对应于输入数据的高度、宽度和通道数。

例子:[28 28 1]

输出参数

全部折叠

网络体系结构,返回为数组或LayerGraph对象。将彩色图像作为输入的Caffe网络希望图像采用BGR格式。在导入期间,importCaffeLayers修改网络,使导入的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编码器)

importCaffeLayers返回网络架构作为一个LayerGraph对象。对于代码生成,必须首先转换导入的LayerGraph对象添加到网络。把一个LayerGraph对象的DAGNetworkSeriesNetwork对象,使用assembleNetwork.把一个LayerGraph对象的dlnetwork对象,使用dlnetwork.欲知更多有关MATLAB编码器和GPU编码器对深度学习工具万博1manbetx箱对象的支持,请参见万博1manbetx支持类(MATLAB编码器)而且万博1manbetx支持类(GPU编码器),分别。

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

在GPU上使用导入网络层

importCaffeLayers不会在GPU上执行。然而,importCaffeLayers导入深度学习预训练神经网络的层数组或LayerGraph对象,你可以在GPU上使用。

  • 将导入的图层转换为aDAGNetwork对象,使用assembleNetwork.在DAGNetwork对象,然后您可以通过使用预测CPU或GPU上的类标签分类.使用name-value参数指定硬件需求ExecutionEnvironment.对于具有多个输出的网络,使用预测函数并指定名称-值参数ReturnCategorical作为真正的

  • 将导入的图层转换为adlnetwork对象,使用dlnetwork.在dlnetwork对象,然后您可以通过使用预测CPU或GPU上的类标签预测.这个函数预测如果输入数据或网络参数存储在GPU上,则在GPU上执行。

    • 如果你使用minibatchqueue要处理和管理输入数据的小批,可以使用minibatchqueue如果GPU可用,对象默认将输出转换为GPU数组。

    • 使用dlupdate转换a的可学习参数dlnetwork对象到GPU数组。

      net = dlupdate(@gpuArray,net)

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

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

提示

参考文献

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

版本历史

在R2017a中引入