主要内容

importONNXNetwork

进口pretrainedONNX网络

描述

实例

= importonnxnetwork(模数)从文件中导入预训练的ONNX™(Open Neural Network Exchange)网络模数.函数返回网络作为一个DAGNetworkdlnetwork对象。

importONNXNetwork要求ONNX模型格式的深度学习工具箱™转换器万博1manbetx支持包。如果未安装此支持包,则importONNXNetwork提供下载链接。

笔记

默认情况下,importONNXNetwork当软件不能将ONNX运算符转换为等效的内置MATLAB时,尝试生成一个自定义层®层。有关软件支持转换的运算符列表,请参阅万博1manbetx支持ONNX运算符转换为内置的万博1manbetxMATLAB层

importONNXNetwork将生成的自定义图层保存在包中+模数

importONNXNetwork不会为每个ONNX运算符自动生成自定义层,该运算符不支持转换为内置MATLAB层。有关如何处理不支持的层的更多信息,请参阅万博1manbetx替代功能

实例

= importonnxnetwork(模数,名称=值)导入一个预先训练的ONNX网络,使用一个或多个名称-值参数指定的附加选项。例如,OutputLayerType =“分类”将网络作为文件导入DAGNetwork对象,将分类输出层附加到导入的网络体系结构的第一个输出分支的末尾。

例子

全部收缩

下载并安装ONNX模型格式支持包的深入学习工具箱转换器。万博1manbetx

类型importONNXNetwork在命令行。

importONNXNetwork

如果未安装ONNX Model Format的Deep Learning Toolbox Converter,则该函数会在附加模块资源管理器中提供指向所需支持包的链接。要安装支持包,请单击该链接,然后单击万博1manbetx安装.从模型文件导入网络检查安装是否成功“simplenet.onnx”如果安装了支持包,则函数返回万博1manbetxDAGNetwork对象。

modelfile =“simplenet.onnx”;net = importonnxnetwork(modeloleile)
net = DAGNetwork with properties: Layers: [9×1 nnet.cnn.layer.Layer] Connections: [8×2 table] InputNames: {'imageinput'} OutputNames: {'ClassificationLayer_softmax1002'}

绘制网络架构图。

情节(净)

导入预训练的ONNX网络作为DAGNetwork对象,并使用导入的网络对图像进行分类。

的ONNX模型squeezenet卷积神经网络。

squeezeNet = squeezeNet;exportONNXNetwork (squeezeNet“挤压net.onnx”);

指定类名。

ClassNames = screezenet.layers(结束).classes;

导入pretrained挤压网.onnx模型,并指定类。默认情况下,importONNXNetwork将网络作为文件导入DAGNetwork对象。

网= importONNXNetwork (“挤压net.onnx”,Classes=类名)
net = DAGNetwork with properties: Layers: [70×1 nnet.cnn.layer.Layer] Connections: [77×2 table] InputNames: {'data'} OutputNames: {'ClassificationLayer_prob'}

分析导入的网络。

分析网络(net)

阅读你想分类的图像,并显示图像的大小。图像是384 × 512像素,有三个颜色通道(RGB)。

我= imread (“peppers.png”);大小(我)
ans=1×3384 512 3

将图像调整为网络的输入大小。显示图像。

I = imresize(I,[227 227]);imshow(我)

使用导入的网络对图像进行分类。

标签=分类(净,我)
标签=分类甜椒

导入预训练的ONNX网络作为dlnetwork对象,并使用导入的网络对图像进行分类。

的ONNX模型squeezenet卷积神经网络。

squeezeNet = squeezeNet;exportONNXNetwork (squeezeNet“挤压net.onnx”);

指定类名。

ClassNames = screezenet.layers(结束).classes;

导入pretrained挤压网.onnx作为模型dlnetwork对象。

网= importONNXNetwork (“挤压net.onnx”TargetNetwork =“DLN网络”)
net=dlnetwork,具有以下属性:层:[70×1 nnet.cnn.layer.layer]连接:[77×2表]可学习:[52×3表]状态:[0×3表]输入名称:{data'}输出名称:{probOutput'}初始化:1

阅读你想分类的图像,并显示图像的大小。图像是384 × 512像素,有三个颜色通道(RGB)。

我= imread (“peppers.png”);大小(我)
ans=1×3384 512 3

将图像调整为网络的输入大小。显示图像。

I = imresize(I,[227 227]);imshow(我)

将图像转换为adlarray..使用尺寸格式化图像“SSCB”(空间、空间、通道、批次)。在这种情况下,批处理大小为1,您可以忽略它(“SSC”)。

I_dlarray = dlarray(单(我),“SSCB”);

对样本图像进行分类,找到预测的标签。

概率=预测(净,I_dlarray);[~,标签]= max(概率);

显示分类结果。

Classnames(标签)
ans=分类甜椒

导入预训练的ONNX网络作为DAGNetwork对象,并使用导入的网络对图像进行分类。导入的网络包含不支持转换为内置MATLAB层的ONNX运算符。万博1manbetx当您导入这些操作符时,软件会自动生成自定义层。

这个例子使用了helper函数findCustomLayers.要查看此功能的代码,请参阅辅助函数

指定要导入为的模型文件shufflenet使用ONNX模型动物园中的操作符设置9。shufflenet是一个卷积神经网络,训练了来自ImageNet数据库的100多万张图像。因此,该网络学习了丰富的特征表示范围广泛的图像。该网络可以将图像分为1000个对象类别,如键盘、鼠标、铅笔和许多动物。

modelfile =“shufflenet - 9. onnx”

从导入类名squeezenet,它还使用ImageNet数据库中的图像进行训练。

squeezeNet = squeezeNet;ClassNames = scriezenet.layers(结束).classnames;

进口shufflenet.默认情况下,importONNXNetwork将网络作为文件导入DAGNetwork对象。如果导入的网络包含不支持转换为内置MATLAB层的ONNX操作符,则万博1manbetximportONNXNetwork可以自动生成自定义图层来代替这些操作符。importONNXNetwork将每个生成的自定义层保存为单独的.m包中的文件+ shufflenet_9在当前文件夹中。使用name-value参数指定包名PackageName

net = importonnxnetwork(模块,...Classes = ClassNames,PackageName =“shufflenet_9”)
net = DAGNetwork with properties: Layers: [173×1 nnet.cnn.layer.Layer] Connections: [188×2 table] InputNames: {'gpu_0_data_0'} OutputNames: {'ClassificationLayer_gpu_0_softmax_1'}

使用helper函数查找自动生成的自定义图层的索引findCustomLayers,并显示自定义图层。

印第安纳州= findCustomLayers(净。层,“+shufflenet_9”);Net.Layers(Ind)
ans=16×1带层的层阵列:1'重塑至重塑1004'shufflenet_9.重塑至重塑1004 shufflenet_9.重塑至重塑1004 2'重塑至重塑1009'shufflenet_9.重塑至重塑1009.重塑至重塑1009.重塑至重塑1009.重塑至重塑1003'重塑至重塑1014'shufflenet_9.重塑至重塑1014_9.重塑为重塑者1014’重塑为重塑者1019’shufflenet’9.重塑为重塑者1019 shufflenet’9.重塑为重塑者1019 5’重塑为重塑者1024’shufflenet’9.重塑为重塑者1024 shufflenet’9.重塑为重塑者1024 shufflenet’9.重塑为重塑者1024’shufflenet’9.重塑为重塑pe_To_Reformelayer1029 7“Reforme_To_Reformelayer1034 shufflenet_9.Reforme_To_Reformelayer1034 8”Reforme_To_Reformelayer1039.Reforme_To_Reformelayer1039.Reforme_To_Reformelayer1039.Reforme_To_To_Reformelayer1039.Reforme_To_To_Reformelayer1039.Reformelayer1044’shufflenet_To ReformelayerueshapeLayer1044 10“重塑至重塑者1049”shufflenet 9.重塑至重塑者1049 shufflenet 9.重塑至重塑者1049 11“重塑至重塑者1054”shufflenet 9.重塑至重塑者1054 shufflenet 9.重塑至重塑者1054 shufflenet 9.重塑至重塑者1054 12“重塑至重塑者1059.重塑至重塑至重塑者1059.重塑至重塑至重塑者peLayer1059 13“重塑至重塑者1064”shufflenet\u 9.重塑至重塑者1064 shufflenet\u 9.重塑至重塑者1064 14“重塑至重塑者1069”shufflenet\u 9.重塑至重塑者1069 shufflenet\u 9.重塑至重塑者1069 15“重塑至重塑者1074”shufflenet\u 9.重塑至重塑至重塑者1074yer1074 16“重塑为重塑为重塑1079”shufflenet。重塑为重塑为重塑1079 shufflenet。重塑为重塑为重塑1079

阅读你想分类的图像,并显示图像的大小。图像是792 × 1056像素,有三个颜色通道(RGB)。

我= imread (“孔雀,jpg”);大小(我)
ans=1×3792 1056 3

将图像调整为网络的输入大小。显示图像。

I=imresize(I[224 224]);imshow(I)

输入到shufflenet需要进一步预处理(有关详细信息,请参阅shuffle lenet在ONNX模型动物园)。重新归类图像。通过减去训练图像的平均值并除以训练图像的标准偏差来归一化图像。

I=重新缩放(I,0,1);平均值=[0.485 0.456 0.406];stdIm=[0.2290.2240.225];I=(I-重塑(平均值[13])。/重塑(标准偏差[13]);imshow(I)

使用导入的网络对图像进行分类。

标签=分类(净,我)
标签=分类孔雀

辅助函数

本节提供帮助器函数的代码findCustomLayers在此示例中使用。findCustomLayers返回指数自定义图层的importONNXNetwork自动生成。

作用indices = findcustomlayers(图层,packageName)s =什么([‘。’PackageName]);指数= 0(1、长度(小);为了i=1:长度(层)为了J = 1:长度(下半)如果strcmpi(类(层(i)),[PackageName(2:end)'.'S.m {j}(1:end-2)]) indices(j) = i;终止终止终止终止

导入具有多个输出的ONNX网络作为DAGNetwork对象。

指定ONNX模型文件并导入预训练的ONNX模型。默认情况下,importONNXNetwork将网络作为文件导入DAGNetwork对象。

modelfile =“digitsMIMO.onnx”;net = importonnxnetwork(modeloleile)
net = DAGNetwork with properties: Layers: [19×1 nnet.cnn.layer.Layer] Connections: [19×2 table] InputNames: {'input'} OutputNames: {'ClassificationLayer_sm_1' 'RegressionLayer_fc_1_Flatten'}

网络具有两个输出层:一个分类层(classificationlayer_sm_1.)分类数字和一个回归层(RegressionLayer_fc_1_Flatten)来计算这些数字的预测角度的均方误差。绘制网络架构图。

地块(净)标题(“数字MIMO网络架构”)

要使用导入的网络进行预测,请使用预测函数,并设置ReturnCategorical选择真正的

输入参数

全部收缩

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

例子:“cifarResNet.onnx”

名称 - 值参数

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

例子:ImportOnXNetwork(模型文件,TargetNetwork=“dagnetwork”,GenerateCustomLayers=true,PackageName=“CustomLayers”)导入网络模数作为一个DAGNetwork对象,并将自动生成的自定义层保存在包中+ CustomLayers.在当前文件夹中。

用于自定义层生成的选项,指定为数字或逻辑1.(真正的)或0(错误的).如果你发电层真正的,importONNXNetwork当软件不能将ONNX运算符转换为等效的内置MATLAB层时,尝试生成一个自定义层。importONNXNetwork将每个生成的自定义层保存为单独的.m归档+PackageName. 要查看或编辑自定义图层,请打开关联的.m文件。有关自定义层的更多信息,请参见深度学习自定义层

例子:GenerateCustomLayers = false

其中的包的名称importONNXNetwork保存自定义层,指定为字符向量或字符串标量。importONNXNetwork保存自定义层包+PackageName在当前文件夹中。如果您未指定PackageName, 然后importONNXNetwork将自定义图层保存在名为的包中+模数在当前文件夹中。有关包的更多信息,请参见包创建名称空间

例子:packagename =“shufflenet_9”

例子:PackageName = " CustomLayers "

深度学习工具箱网络的目标类型,具体为“dagnetwork”“DLN网络”.功能importONNXNetwork进口网络作为一个DAGNetworkdlnetwork对象。

  • 如果您将网络导入为DAGNetwork对象,必须包括由ONNX模型指定的输入和输出层,或者使用name-value参数指定的输入和输出层InputDataFormats,OutputDataFormats,或OutputLayerType

  • 如果您将网络导入为dlnetwork对象,importONNXNetwork附加customoutputlayer.的每个输出分支的末尾,并可能附加aCustomInputLayer在输入分支的开头。函数附加一个CustomInputLayer如果输入数据格式或输入图像大小未知。有关这些层的数据格式的网络特定信息,请参阅CustomInputLayercustomoutputlayer.物体。有关如何解释深度学习工具箱输入和输出数据格式的信息,请参阅转换ONNX输入和输出张量到内置MATLAB层

例子:TargetNetwork = " dlnetwork "

网络输入的数据格式,指定为字符向量、字符串标量或字符串数组。importONNXNetwork尝试从ONNX文件解释输入数据格式。名称值参数InputDataFormats是有用的,当importONNXNetwork无法派生输入数据格式。

inputdatafomats.在ONNX输入Tensor排序中的数据格式。例如,如果您指定InputDataFormats作为“BSSC”,导入的网络有一个imageInputLayer输入。了解更多信息importONNXNetwork解释ONNX输入张量的数据格式以及如何指定InputDataFormats有关不同的深度学习工具箱输入层,请参见转换ONNX输入和输出张量到内置MATLAB层

如果指定空数据格式([]),importONNXNetwork自动解释输入数据格式。

例子:InputDataFormats='BSSC'

例子:InputDataFormats = " BSSC "

例子:InputDataFormats = [" bcs”、“”、“公元前”)

例子:InputDataFormats={'BCSS',[],'BC'}

数据类型:烧焦|字符串|单间牢房

网络输出的数据格式,指定为字符向量、字符串标量或字符串数组。importONNXNetwork尝试从ONNX文件解释输出数据格式。name-value参数OutputDataFormats是有用的,当importONNXNetwork无法派生输出数据格式。

OutputDataFormats在ONNX输出Tensor的排序中进行数据格式。例如,如果您指定OutputDataFormats作为“公元前”,导入的网络有一个classificationLayer输出欲了解更多有关如何importONNXNetwork解释ONNX输出张量的数据格式以及如何指定OutputDataFormats有关不同的深度学习工具箱输出层,请参见转换ONNX输入和输出张量到内置MATLAB层

如果指定空数据格式([]),importONNXNetwork自动解释输出数据格式。

例子:公元前OutputDataFormats = ' '

例子:OutputDataFormats =“公元前”

例子:OutputDataFormats = [" bcs”、“”、“公元前”)

例子:OutputDataFormats = {bcs,[],“公元前”}

数据类型:烧焦|字符串|单间牢房

第一个网络输入的输入图像的大小,指定为对应于[高度、宽度、通道]对于二维图像和(高度、宽度、深度、渠道)3 d图像。网络仅在ONNX模型在时使用此信息模数不指定输入大小。

例子:ImageInputSize=[28 1]对于2-D灰度输入图像

例子:imageInputSize = [224 224 3]对于2-D颜色输入图像

例子:imageInputSize = [28 28 36 3]用于三维彩色输入图像

第一个网络输出的层类型,指定为“分类”,“回归”,或“pixelclassification”.功能importONNXNetwork附加分类输出层,RegressionOutputLayer,或像素分类层(电脑视觉工具箱)对象到导入的网络体系结构的第一个输出分支的末端。附加一个像素分类层(电脑视觉工具箱)对象需要计算机Vision Toolbox™。如果ONNX模型模数指定输出层类型或指定TargetNetwork作为“DLN网络”,importONNXNetwork忽略name-value参数OutputLayerType

例子:OutputLayerType =“回归”

用于第一个网络输出的输出层的类,指定为类别向量、字符串数组、字符向量的单元数组或“汽车”.如果“汽车”, 然后importONNXNetwork将类设置为分类(1:N),在那里N为类数。如果指定字符向量的字符串数组或单元格数组str, 然后importONNXNetwork设置输出层的类为分类(str, str).如果您指定TargetNetwork作为“DLN网络”,importONNXNetwork忽略name-value参数

例子:类={0','1','3'}

例子:类=分类({'dog','cat'})

数据类型:烧焦|分类|字符串|单间牢房

恒定折叠优化,指定为“深度”,“浅”,或“没有任何”.在将ONNX运算符转换为等效的内置MATLAB层期间,通过在ONNX初始化器(初始常量值)上计算操作,常量折叠优化了导入的网络架构。

如果ONNX网络包含软件无法转换为等效内置MATLAB层的操作员(请参阅支持ONNX运算符转换为内置的万博1manbetxMATLAB层)不断的折叠优化可以减少不受支持的层数。当你设定万博1manbetxFoldConstants“深度”,与将参数设置为时相比,网络具有相同或更少的不支持层万博1manbetx“浅”。但是,网络导入时间可能会增加。设置FoldConstants“没有任何”禁用网络架构优化。

如果网络经过不断的折叠优化后仍然包含不支持的层,万博1manbetximportONNXNetwork返回一个错误。在这种情况下,可以使用重要人物importonnxfunction..有关更多信息,请参见替代功能

例子:FoldConstants=“浅”

输出参数

全部收缩

预训练的ONNX网络,作为DAGNetworkdlnetwork对象。

  • 指定TargetNetwork作为“dagnetwork”将网络导入为DAGNetwork对象。在DAGNetwork对象,您可以通过使用该标签来预测类标签分类函数。

  • 指定TargetNetwork作为“DLN网络”将网络导入为dlnetwork对象。在dlnetwork对象,您可以通过使用该标签来预测类标签预测函数。将输入数据指定为adlarray.使用正确的数据格式(有关更多信息,请参阅FMT.的观点dlarray.)。

局限性

  • importONNXNetwork万博1manbetx支持ONNX版本如下:

    • 该函数支持ONNX中间表示万博1manbetx版本6。

    • 该函数支持ONNX操作符集万博1manbetx6到13。

笔记

如果导入导出的网络,则重新导入的网络的层可能与原始网络不同,因此可能不受支持。万博1manbetx

更多关于

全部收缩

ONNX转换为内置时支持的操万博1manbetx作符MATLAB

importONNXNetwork万博1manbetx支持以下ONNX运算符进行转换为内置MATLAB层,具有一些限制。

ONNX运营商 深度学习工具箱层

添加

附加层nnet.onnx.layer.ElementwiseAffineLayer

AveragePool

averagePooling2dLayer

BatchNormalization

batchNormalizationLayer

连接两个字符串

连接层

常数

无(作为权重导入)

卷积和多项式相乘*

convolution2dLayer

ConvTranspose

TransposedConv2dlayer.

辍学者

dropoutLayer

埃卢

淋溶层

Gemm

完全连接层如果ONNX网络是循环的,则为nnet.onnx.layer.flattlayer其次是convolution2dLayer

GlobalAveragePool

globalAveragePooling2dLayer

GlobalMapool

globalmaxpooling2dlayer.

gru.

泥鳅

瞬时正规化

GroupnormalizationLayer.具有numGroups指定为“channel-wise”

LeakyRelu

漏泄层

LRN

CrossChannelNormalizationLayer

LSTM

第一层bilstmLayer

MatMul

完全连接层如果ONNX网络是循环的,则为convolution2dLayer

MaxPool

maxPooling2dLayer

Mul

multiplicationLayer

线性整流函数(Rectified Linear Unit)

雷卢耶clippedReluLayer

乙状结肠

sigmoidLayer

Softmax

softmaxLayer

总和

附加层

Tanhlayer.

*如果是的属性卷积和多项式相乘运算符是只有两个元素的向量(p1, p2),importONNXNetwork进口卷积和多项式相乘作为一个convolution2dLayer使用name-value参数“填充”指定为[p1,p2,p1,p2]

ONNX运营商 ONNX导入器自定义层

剪辑

nnet.onnx.layer.ClipLayer

div

nnet.onnx.layer.ElementwiseAffineLayer

扁平

nnet.onnx.layer.flattlayernnet.onnx.layer.Flatten3dLayer

身份

nnet.onnx.layer.IdentityLayer

图像定标器

nnet.onnx.layer.ElementwiseAffineLayer

普莱鲁

nnet.onnx.layer.PReluLayer

重塑

nnet.onnx.layer.flattlayer

nnet.onnx.layer.ElementwiseAffineLayer
ONNX运营商 图像处理工具箱™
DepthToSpace depthToSpace2dLayer(图像处理工具箱)
调整大小 resize2dLayer(图像处理工具箱)调整3D图层的大小(图像处理工具箱)
空间深度 spaceToDepthLayer(图像处理工具箱)
upsample. resize2dLayer(图像处理工具箱)调整3D图层的大小(图像处理工具箱)

转换ONNX输入和输出张于内置MATLAB

importONNXNetwork尝试解释ONNX网络输入和输出张量的数据格式,然后将其转换为内置的MATLAB输入和输出层。有关解释的详细信息,请参阅表ONNX输入张量到深度学习工具箱层的转换ONNX输出张量到MATLAB层的转换

在深度学习工具箱中,每个数据格式字符必须是其中一个标签:

  • s——空间

  • C——频道

  • B-批量观察

  • T- 时间或序列

  • U——未指明的

转换ONNX张量输入深度学习工具箱

数据格式 资料解释 深度学习工具箱层
ONNX输入张量 MATLAB输入格式 形状 类型
卑诗省 CB C-借-N数组,C是多少特征和N是观察的数量 特性 特征输入层
bcs,BSSC,CSS,SSC SSCB

H-借-W-借-C-借-N数字数组,H,W,CN分别是图像的高度、宽度、通道数和观测次数吗

二维图像 imageInputLayer
BCSSS,BSSSC,包括,SSSC. SSSCB.

H-借-W-借-D-借-C数字数组,H,W,D,CN分别是图像的高度、宽度、深度、通道数和图像观察数

三维图像 image3dinputlayer.
未完待续 CBT

C-借-s-借-N矩阵,在哪里C为序列特征的个数,s是序列长度,并且N是序列观测的数量

向量序列 sequenceInputLayer
TBCSS SSCBT

H-借-W-借-C-借-s-借-N数组,H,W,CN分别对应图像的高度、宽度和通道数量,s是序列长度,并且N是图像序列观测的次数吗

二维图像序列 sequenceInputLayer
TBCSS SSSCBT

H-借-W-借-D-借-C-借-s-借-N数组,H,W,D, 和C对应于图像的高度,宽度,深度和数量,s是序列长度,并且N是图像序列观测的次数吗

三维图像序列 sequenceInputLayer

转换ONNX张量输出到MATLAB

数据格式 MATLAB层
ONNX输出张量 MATLAB输出格式
卑诗省,未完待续 CB,CBT classificationLayer
bcs,BSSC,CSS,SSC,BCSSS,BSSSC,包括,SSSC. SSCB,SSSCB. 像素分类层(电脑视觉工具箱)
TBCSS,TBCSS SSCBT,SSSCBT 海退层

在GPU上使用导入的网络

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

  • 如果您将网络导入为DAGNetwork对象,您可以在CPU或GPU上使用分类.使用name-value参数指定硬件需求执行环境.对于具有多个输出的网络,使用预测功能DAGNetwork物体。

  • 如果您将网络导入为DAGNetwork对象,您可以在CPU或GPU上使用预测.使用name-value参数指定硬件需求执行环境.如果网络有多个输出,请指定name-value参数ReturnCategorical作为真正的

  • 如果您将网络导入为dlnetwork对象,您可以在CPU或GPU上使用预测.功能预测如果输入数据或网络参数存储在GPU上,则在GPU上执行。

    • 如果你使用minibatchqueue对小批量输入数据进行处理和管理minibatchqueue对象默认将输出转换为GPU阵列(如果有GPU可用)。

    • 使用dlupdate.转换可学习的参数的步骤dlnetwork对象到GPU阵列。

      dlnet=dlupdate(@gpuarray,dlnet)

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

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

提示

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

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

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

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

替代功能

ONNX模型格式的深入学习工具箱转换器提供三个函数来导入预训练的ONNX网络:importONNXNetwork,重要人物, 和importonnxfunction.

如果导入的网络包含不支持转换成内置MATLAB层的ONNX运算符(请参阅万博1manbetx支持ONNX运算符转换为内置的万博1manbetxMATLAB层)及importONNXNetwork不生成自定义图层,则importONNXNetwork返回错误。在这种情况下,您仍然可以使用重要人物导入网络架构和权重或importonnxfunction.将网络导入为ONNXParameters对象和模型函数。

有关哪个导入函数最适合不同的场景的更多信息,请参见选择“功能导入ONNX预训练网络”

兼容性考虑

全部展开

在R2021b中启动时出错

R2021B中的行为更改

参考文献

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

[2]ONNXhttps://onnx.ai/

R2018a中引入