主要内容

importONNXNetwork

进口pretrainedONNX网络

描述

= importonnxnetwork(模数,'outputlayertype',outputtype从ONNX™(Open Neural network Exchange)文件导入预先训练的网络模数并指定导入网络的输出层类型。

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

例子

= importonnxnetwork(模数,'outputlayertype',outputtype,'课程',另外指定分类网络的类。

例子

全部收缩

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

类型importONNXNetwork在命令行。

importONNXNetwork

如果ONNX模型格式的深度学习工具箱转换器未安装,那么该函数提供了在附加资源管理器中的所需支持包的链接。金宝app要安装支持包,请单击“链接”,金宝app然后单击安装.从模型文件导入网络检查安装是否成功“cifarResNet.onnx”在命令行。如果安装了支持金宝app包,则该函数返回aDAGNetwork目的。

modelfile =“cifarResNet.onnx”;类= [“飞机”“汽车”“鸟”“猫”“dee”“狗”“青蛙”“马”“船”“卡车”];网= importONNXNetwork (modelfile,“OutputLayerType”“分类”'课程'、类)
net =具有属性的dagnetwork:图层:[77×1 nnet.cnn.layer.layer]连接:[85×2表]

导入在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'}

分析导入的网络。

分析(净)

输入参数

全部收缩

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

例子:“cifarResNet.onnx”

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

如果一个网络模数有多个输出,那么您无法使用此参数指定输出层类型。用importONNXLayers代替。importONNXLayers为输出插入占位符层。导入后,您可以通过使用找到并替换占位符层FindPlaceHolderLayers.替换剂, 分别。

例子:“回归”

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

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

输出参数

全部收缩

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

限制

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

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

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

    • 该功能为ONNX操作员设置10和11提供有限的支持。金宝app

笔记

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

更多关于

全部收缩

金宝app支持ONNX

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

ONNX层 深度学习工具箱层

添加

附加学者或者nnet.onnx.layer.elementwiseaffinelayer.

AveragePool

averagePooling2dLayer

BatchNormalization

batchNormalizationLayer

Concat

concationlayer.

持续的

无(作为权重导入)

Conv*

Convolution2Dlayer.

ConvTranspose

TransposedConv2dlayer.

辍学

DropoutLayer.

elu.

elulayer.

Gemm

全康统计层如果ONNX网络是循环的,则为nnet.onnx.layer.FlattenLayer其次是Convolution2Dlayer.

GlobalAveragePool

globalAveragePooling2dLayer

GlobalMaxpool.

globalmaxpooling2dlayer.

gru.

格拉勒

算法

GroupnormalizationLayer.numgroups.指定为“渠道明智”

leakyrelu.

漏滤网

LRN

CrossChannelNormalizationLayer

LSTM

lstmLayer或者bilstmLayer

MatMul

全康统计层如果ONNX网络是循环的,则为Convolution2Dlayer.

MaxPool

maxPooling2dLayer

Mul

multiplicationLayer

线性整流函数(Rectified Linear Unit)

抵押者或者clippedReluLayer

sigmoid.

sigmoidLayer

softmax.

softmaxLayer

总和

附加学者

塔尼

Tanhlayer.

*如果是的属性Conv操作员是只有两个元素的向量(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.FlattenLayer或者nnet.onnx.layer.Flatten3dLayer

身份

nnet.onnx.layer.IdentityLayer

emotiomer

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函数为输出插入占位符层。导入后,您可以通过使用找到并替换占位符层FindPlaceHolderLayers.替换剂, 分别。例如,看到导入并组装具有多个输出的ONNX网络.要了解具有多个输入和多个输出的深度学习网络,请参见多输入多输出网络

  • 要使用预测或传输在新图像上的预测或传输学习的预测网络,您必须以相同的方式预处理图像用于培训导入模型的图像是预处理的。最常见的预处理步骤正在调整图像的大小大小,减去图像平均值,并将图像从BGR图像转换为RGB。

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

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

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

兼容性考虑因素

全部展开

不建议从R2018b开始

参考文献

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

[2]ONNXhttps://onnx.ai/

在R2018A介绍