主要内容

importONNXNetwork

进口pretrainedONNX网络

描述

= importONNXNetwork (modelfile“OutputLayerType”,outputtype从ONNX™(Open Neural network Exchange)文件导入预先训练的网络modelfile并指定导入网络的输出层类型。

此函数需要ONNX模型格式的深度学习工具箱™转换器金宝app支持包。如果没有安装此支金宝app持包,则该函数将提供下载链接。

例子

= importONNXNetwork (modelfile“OutputLayerType”,outputtype“类”,另外指定分类网络的类。

例子

全部折叠

下载并安装ONNX模型格式的深度学习工具箱转换器金宝app支持包。

类型importONNXNetwork在命令行。

importONNXNetwork

如果ONNX模型格式的深度学习工具箱转换器如果未安装,则该函数将提供到Add-On Explorer中所需的支持包的链接。金宝app要安装支持包,请单击链接,然后金宝app单击安装.通过从模型文件导入网络,检查安装是否成功“cifarResNet.onnx”在命令行。如果安装了支持金宝app包,则函数返回aDAGNetwork对象。

modelfile =“cifarResNet.onnx”;类= [“飞机”“汽车”“鸟”“猫”“迪”“狗”“青蛙”“马”“船”“卡车”];网= importONNXNetwork (modelfile,“OutputLayerType”“分类”“类”、类)
net = DAGNetwork with properties: Layers: [77×1 net.cnn.layer. layer]连接:[85×2 table]

导入在CIFAR-10数据集上训练的残差神经网络。指定包含ONNX网络、输出类型和输出类的文件。

modelfile =“cifarResNet.onnx”;类= [“飞机”“汽车”“鸟”“猫”“鹿”“狗”“青蛙”“马”“船”“卡车”];网= importONNXNetwork (modelfile,“OutputLayerType”“分类”“类”、类)
net = DAGNetwork with properties: Layers: [77×1 nnet.cnn.layer.Layer] Connections: [85×2 table] InputNames: {'Input_input'} OutputNames: {'ClassificationLayer_softmax'}

分析导入的网络。

analyzeNetwork(净)

输入参数

全部折叠

包含网络的ONNX模型文件的名称,指定为字符向量或字符串标量。该文件必须在当前文件夹中,在MATLAB的一个文件夹中®路径,否则必须包含文件的完整路径或相对路径。

例子:“cifarResNet.onnx”

函数附加到导入网络末端的输出层类型,指定为“分类”“回归”,或“pixelclassification”.使用“pixelclassification”附加一个pixelClassificationLayer(计算机视觉工具箱)对象(需要计算机视觉工具箱™)。

如果一个网络modelfile有多个输出,则不能使用此参数指定输出层类型。使用importONNXLayers代替。importONNXLayers为输出插入占位符层。导入之后,您可以使用findPlaceholderLayersreplaceLayer,分别。

例子:“回归”

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

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

输出参数

全部折叠

预先训练的网络,返回为DAGNetwork对象。

限制

  • importONNXNetwork金宝app支持的ONNX版本如下:

    • 该函数支持版本6的ONNX金宝app中间表示。

    • 该函数完全支持ONNX操作符集6、7、金宝app8和9。

    • 该函数提供了对ONNX操作符集10和11的有限支持。金宝app

请注意

如果导入导出的网络,则重新导入的网络的层可能与原始网络不同,因此可能不受支持。金宝app

更多关于

全部折叠

金宝app支持ONNX

importONNXNetwork金宝app支持以下ONNX层,但有一些限制:

ONNX层 深度学习工具箱层

添加

additionLayernnet.onnx.layer.ElementwiseAffineLayer

AveragePool

averagePooling2dLayer

BatchNormalization

batchNormalizationLayer

Concat

concatenationLayer

常数

无(作为权重导入)

Conv

convolution2dLayer

ConvTranspose

transposedConv2dLayer

辍学

dropoutLayer

Elu

eluLayer

Gemm

fullyConnectedLayer如果ONNX网络是循环的,则为nnet.onnx.layer.FlattenLayer紧随其后的是convolution2dLayer

GlobalAveragePool

globalAveragePooling2dLayer

GlobalMaxPool

globalMaxPooling2dLayer

格勒乌

gruLayer

InstanceNormalization

groupNormalizationLayernumGroups指定为“channel-wise”

LeakyRelu

leakyReluLayer

LRN

CrossChannelNormalizationLayer

LSTM

lstmLayerbilstmLayer

MatMul

fullyConnectedLayer如果ONNX网络是循环的,则为convolution2dLayer

MaxPool

maxPooling2dLayer

Mul

multiplicationLayer

线性整流函数(Rectified Linear Unit)

reluLayerclippedReluLayer

乙状结肠

sigmoidLayer

Softmax

softmaxLayer

总和

additionLayer

双曲正切

tanhLayer

如果的属性ConvOperator是一个只有两个元素的向量(p1, p2)importONNXNetwork进口Conv作为一个convolution2dLayer使用name-value参数“填充”指定为(p1, p2, p1, p2)

ONNX层 ONNX导入器自定义层

剪辑

nnet.onnx.layer.ClipLayer

Div

nnet.onnx.layer.ElementwiseAffineLayer

nnet.onnx.layer.FlattenLayernnet.onnx.layer.Flatten3dLayer

身份

nnet.onnx.layer.IdentityLayer

ImageScaler

nnet.onnx.layer.ElementwiseAffineLayer

PRelu

nnet.onnx.layer.PReluLayer

重塑

nnet.onnx.layer.FlattenLayer

nnet.onnx.layer.ElementwiseAffineLayer
ONNX层 图像处理工具箱™
DepthToSpace depthToSpace2dLayer(图像处理工具箱)
调整 resize2dLayer(图像处理工具箱)resize3dLayer(图像处理工具箱)
SpaceToDepth spaceToDepthLayer(图像处理工具箱)
Upsample resize2dLayer(图像处理工具箱)resize3dLayer(图像处理工具箱)

提示

  • 如果ONNX网络包含一个层ONNX模型格式的深度学习工具箱转换器不支持(见金宝app金宝app支持ONNX层),然后importONNXNetwork返回错误消息。在这种情况下,您仍然可以使用importONNXLayers导入网络架构和权重。

  • 使用以下命令可以导入具有多个输入和单个输出的ONNX网络importONNXNetwork.如果网络有多个输出,请使用importONNXLayers.的importONNXLayers函数为输出插入占位符层。导入之后,您可以使用findPlaceholderLayersreplaceLayer,分别。例如,请参见导入并组装具有多个输出的ONNX网络.要了解具有多个输入和多个输出的深度学习网络,请参见多输入多输出网络

  • 要使用预先训练的网络对新图像进行预测或迁移学习,必须以与用于训练导入模型的图像的预处理相同的方式对图像进行预处理。最常见的预处理步骤是调整图像大小,减去图像平均值,以及将图像从BGR图像转换为RGB图像。

    • 要调整图像大小,请使用imresize.例如,[3] 227227年imresize(图片)

    • 要将图像从RGB格式转换为BGR格式,请使用翻转.例如,翻转(图片3)

    有关用于训练和预测的预处理图像的更多信息,请参见深度学习的图像预处理

兼容性的考虑

全部展开

不建议从R2018b开始

参考文献

[1]开放式神经网络交换https://github.com/onnx/

[2]ONNXhttps://onnx.ai/

介绍了R2018a