このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
importONNXNetwork
事前学習済みのONNXネットワクのンポト
説明
は,ファ网
= importONNXNetwork (modelfile
)modelfile
から事前学習済みのONNX™(打开)神经网络交换ネットワークをインポートします。この関数は,ネットワ,ク网
をDAGNetwork
オブジェクトまたはdlnetwork
オブジェクトとして返します。
importONNXNetwork
には,ONNX模型格式的深度学习工具箱™转换器サポ,トパッケ,ジが必要です。このサポトパッケジがンストルされていない場合,importONNXNetwork
によってダウンロ,ド用リンクが表示されます。
メモ
既定では,ソフトウェアがonnx演算子をそれと等価な組み込みのmatlab®層に変換できないときに,importONNXNetwork
がカスタム層の生成を試みます。ソフトウェアによる変換がサポトされている演算子の一覧にいては,組み込みのmatlab層への変換がサポ,トされているonnx演算子を参照してください。
importONNXNetwork
は,生成されたカスタム層をパッケ,ジ+
に保存します。modelfile
importONNXNetwork
は,組み込みのMATLAB層への変換がサポートされていない各ONNX演算子のカスタム層を自動生成しません。サポトされていない層の処理方法の詳細にいては,代替機能を参照してください。
例
ONNX模型格式的深度学习工具箱转换器のダウンロ,ドと,ンスト,ル
深度学习工具箱为ONNX模型格式转换器サポートパッケージをダウンロードしてインストールします。
コマンドラ@ @ンでimportONNXNetwork
と入力します。
importONNXNetwork
深度学习工具箱为ONNX模型格式转换器がインストールされていない場合,必要なサポートパッケージへのリンクがこの関数によってアドオンエクスプローラーに表示されます。サポトパッケジをンストルするには,リンクをクリックして,[huawei @ huawei @ huawei @ huawei @ huawei @ huawei]をクリックします。コマンドラ▪▪ンでモデルファ▪▪ル“simplenet.onnx”
からネットワ,クを,。サポトパッケジがンストルされている場合,この関数はDAGNetwork
オブジェクトを返します。
modelfile =“simplenet.onnx”;net = importONNXNetwork(modelfile)
net = DAGNetwork with properties: Layers: [9×1 nnet.cnn.layer.Layer] Connections: [8×2 table] InputNames: {'imageinput'} OutputNames: {'ClassificationLayer_softmax1002'}
ネットワ,クア,キテクチャをプロットします。
情节(净)
Onnxネットワ,クのDAGNetwork
としての▪▪ンポ▪▪ト
事前学習済みのonnxネットワ,クをDAGNetwork
ジを分類します。
squeezenet
畳み込みニュ,ラルネットワ,クのonnxモデルを生成します。
挤压板=挤压板;exportONNXNetwork (squeezeNet“squeezeNet.onnx”);
クラス名を指定します。
ClassNames = squeezeNet.Layers(end).Classes;
事前学習済みのsqueezeNet.onnx
モデルを。既定では,importONNXNetwork
はネットワ,クをDAGNetwork
オブジェクトとして▪▪ンポ▪▪トします。
net = importONNXNetwork(“squeezeNet.onnx”、类=一会)
net = DAGNetwork with properties: Layers: [70×1 nnet.cnn.layer.Layer] Connections: [77×2 table] InputNames: {'data'} OutputNames: {'ClassificationLayer_prob'}
。
analyzeNetwork(净)
分類するメジを読み取り,そのメジのサズを表示します。このメジは384 × 512ピクセルで3のカラチャネル(RGB)があります。
I = imread(“peppers.png”);大小(我)
ans =1×3384 512 3
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @メ,ジを表示します。
I = imresize(I,[227 227]);imshow(我)
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
分类(net,I)
标签=分类甜椒
Onnxネットワ,クのdlnetwork
としての▪▪ンポ▪▪ト
事前学習済みのonnxネットワ,クをdlnetwork
ジを分類します。
squeezenet
畳み込みニュ,ラルネットワ,クのonnxモデルを生成します。
挤压板=挤压板;exportONNXNetwork (squeezeNet“squeezeNet.onnx”);
クラス名を指定します。
ClassNames = squeezeNet.Layers(end).Classes;
事前学習済みのsqueezeNet.onnx
モデルをdlnetwork
オブジェクトとして▪▪ンポ▪▪トします。
net = importONNXNetwork(“squeezeNet.onnx”TargetNetwork =“dlnetwork”)
net = dlnetwork with properties: Layers: [70×1 nnet.cnn.layer.Layer] Connections: [77×2 table] Learnables: [52×3 table] State: [0×3 table] InputNames: {'data'} OutputNames: {'probOutput'} Initialized: 1 .初始化
分類するメジを読み取り,そのメジのサズを表示します。このメジは384 × 512ピクセルで3のカラチャネル(RGB)があります。
I = imread(“peppers.png”);大小(我)
ans =1×3384 512 3
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @メ,ジを表示します。
I = imresize(I,[227 227]);imshow(我)
メ,ジをdlarray
に変換します。メ,ジを次元“SSCB”
(空间,空间,通道,批次)で書式設定します。この場合,バッチサ▪▪ズは1であるため,バッチサ▪▪ズを省略できます(“SSC”
)。
I_dlarray = dlarray(single(I)),“SSCB”);
サンプル▪▪メ▪ジを分類し,予測されたラベルを見▪▪けます。
prob = predict(net,I_dlarray);[~,label] = max(prob);
分類結果を表示します。
类名(标签)
ans =分类甜椒
Onnxネットワクのンポトとカスタム層の自動生成
事前学習済みのonnxネットワ,クをDAGNetwork
ジを分類します。インポートしたネットワークには,組み込みのMATLAB層への変換がサポートされていないONNX演算子が含まれています。これらの演算子を。
この例では,補助関数findCustomLayers
を使用します。この関数のコ,ドを見るには,補助関数を参照してください。
ONNX模型动物园の演算子セット9と共にンポトするモデルファルを,shufflenet
として指定します。shufflenet
は,ImageNetデータベースの100年万枚を超えるイメージで学習させた畳み込みニューラルネットワークです。結果として、このネットワ、クは広範囲の、メ、ジに対する豊富な特徴表現を学習しています。このネットワークは,イメージを1000個のオブジェクトカテゴリ(キーボード,マウス,鉛筆,多くの動物など)に分類できます。
modelfile =“shufflenet - 9. onnx”;
同じくImageNetデタベスのメジで学習させたsqueezenet
から,クラス名を。
挤压板=挤压板;ClassNames = squeezeNet.Layers(end).ClassNames;
shufflenet
を▪▪ンポ▪▪トします。既定では,importONNXNetwork
はネットワ,クをDAGNetwork
オブジェクトとして▪▪ンポ▪▪トします。インポートしたネットワークに,組み込みのMATLAB層への変換がサポートされていないONNX演算子が含まれている場合,importONNXNetwork
は,これらの演算子の代わりにカスタム層を自動生成できます。importONNXNetwork
は,生成した各カスタム層を,現在のフォルダ,内のパッケ,ジ+ shufflenet_9
に個別の00
ファ@ @ルとして保存します。名前と値の引数PackageName
を使用して,パッケ,ジ名を指定します。
net = importONNXNetwork(modelfile,...类=一会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'}
補助関数findCustomLayers
を使用して,自動生成されたカスタム層の▪▪ンデックスを見▪▪け,このカスタム層を表示します。
ind = findCustomLayers(net。层,' + shufflenet_9 ');net.Layers(印第安纳州)
ans = 16×1带有图层的图层数组:1 'Reshape_To_ReshapeLayer1004' shufflenet_9。Reshape_To_ReshapeLayer1004 shufflenet_9。重塑_To_ReshapeLayer1004 2 'Reshape_To_ReshapeLayer1009' shufflenet_9.Reshape_To_ReshapeLayer1009 shufflenet_9.Reshape_To_ReshapeLayer1009 3 'Reshape_To_ReshapeLayer1014' shufflenet_9.Reshape_To_ReshapeLayer1014 shufflenet_9.Reshape_To_ReshapeLayer1014 4 'Reshape_To_ReshapeLayer1019' shufflenet_9.Reshape_To_ReshapeLayer1019 shufflenet_9.Reshape_To_ReshapeLayer1019 5 'Reshape_To_ReshapeLayer1024' shufflenet_9.Reshape_To_ReshapeLayer1024 shufflenet_9.Reshape_To_ReshapeLayer1024 6 'Reshape_To_ReshapeLayer1029' shufflenet_9.Reshape_To_ReshapeLayer1029 shufflenet_9.Reshape_To_ReshapeLayer1029 7 'Reshape_To_ReshapeLayer1034' shufflenet_9.Reshape_To_ReshapeLayer1034 shufflenet_9.Reshape_To_ReshapeLayer1034 8 'Reshape_To_ReshapeLayer1039' shufflenet_9.Reshape_To_ReshapeLayer1039 shufflenet_9.Reshape_To_ReshapeLayer1039 9 'Reshape_To_ReshapeLayer1044' shufflenet_9.Reshape_To_ReshapeLayer1044 shufflenet_9.Reshape_To_ReshapeLayer1044 10 'Reshape_To_ReshapeLayer1049' shufflenet_9.Reshape_To_ReshapeLayer1049 shufflenet_9.Reshape_To_ReshapeLayer1049 11 'Reshape_To_ReshapeLayer1054' shufflenet_9.Reshape_To_ReshapeLayer1054 shufflenet_9.Reshape_To_ReshapeLayer1054 12 'Reshape_To_ReshapeLayer1059' shufflenet_9.Reshape_To_ReshapeLayer1059 shufflenet_9.Reshape_To_ReshapeLayer1059 13 'Reshape_To_ReshapeLayer1064' shufflenet_9.Reshape_To_ReshapeLayer1064 shufflenet_9.Reshape_To_ReshapeLayer1064 14 'Reshape_To_ReshapeLayer1069' shufflenet_9.Reshape_To_ReshapeLayer1069 shufflenet_9.Reshape_To_ReshapeLayer1069 15 'Reshape_To_ReshapeLayer1074' shufflenet_9.Reshape_To_ReshapeLayer1074 shufflenet_9.Reshape_To_ReshapeLayer1074 16 'Reshape_To_ReshapeLayer1079' shufflenet_9.Reshape_To_ReshapeLayer1079 shufflenet_9.Reshape_To_ReshapeLayer1079
分類するメジを読み取り,そのメジのサズを表示します。このイメージは792 x 1056ピクセルで,3つのカラーチャネル(RGB)があります。
I = imread(“peacock.jpg”);大小(我)
ans =1×3792 1056
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @メ,ジを表示します。
I = imresize(I,[224 224]);imshow(我)
shufflenet
への入力をさらに前処理する必要があります(詳細にいては,ONNX模型动物园のShuffleNetを参照してください)。メ,ジを再スケーリングします。学習イメージの平均を減算し、学習イメージの標準偏差で除算して、イメージを正規化します。
I = rescale(I,0,1);meanIm = [0.485 0.456 0.406];stdIm = [0.229 0.224 0.225];I = (I - remodeling (meanIm,[1 1 3]))。/重塑(stdIm,[1 1 3]);imshow(我)
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @
分类(net,I)
标签=分类孔雀
補助関数
この節では,この例で使用されている補助関数findCustomLayers
のコ,ドを示します。findCustomLayers
は,importONNXNetwork
によって自動生成されたカスタム層の指数
を返します。
函数index = findCustomLayers(layers,PackageName) s = what([‘。’PackageName]);索引= 0(1,长度(s.m));为I = 1:长度(层数)为J = 1:长度(s.m)如果strcmpi(类(层(i)), [PackageName(2:结束)“。”S.m {j}(1:end-2)]) index (j) = i;结束结束结束结束
複数の出力をもonnxネットワクのンポト
複数の出力をもonnxネットワクをDAGNetwork
オブジェクトとして▪▪ンポ▪▪トします。
Onnxモデルファルを指定し,事前学習済みのOnnxモデルをンポトします。既定では,importONNXNetwork
はネットワ,クをDAGNetwork
オブジェクトとして▪▪ンポ▪▪トします。
modelfile =“digitsMIMO.onnx”;net = importONNXNetwork(modelfile)
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'}
このネットワクには2の出力層があります。1は数字を分類する分類層(ClassificationLayer_sm_1
), 1は数字の予測角度の平均二乗誤差を計算する回帰層(RegressionLayer_fc_1_Flatten
)です。ネットワ,クア,キテクチャをプロットします。
情节(净)标题(“digitsMIMO网络体系结构”)
インポートしたネットワークを使用して予測を行うには,関数预测
を使用し,ReturnCategorical
オプションを真正的
に設定します。
入力引数
modelfile
- - - - - -Onnxモデルファルの名前
文字ベクトル|字符串スカラ
ネットワクを含むonnxモデルファルの名前。文字ベクトルまたは字符串スカラとして指定します。ファイルは,現在のフォルダーまたはMATLABパス上のフォルダーに含まれていなければならず,そうでなければこのファイルの絶対パスまたは相対パスを含めなければなりません。
例:“cifarResNet.onnx”
名前と値の引数
例:importONNXNetwork (modelfile TargetNetwork =“dagnetwork GenerateCustomLayers = true, PackageName =“CustomLayers”)
は,modelfile
内のネットワ,クをDAGNetwork
オブジェクトとしてンポトし,自動生成したカスタム層を現在のフォルダ内のパッケジ+ CustomLayers
に保存します。
オプションの引数のペアをName1 = Value1,…,以=家
として指定します。ここで,的名字
は引数名で,价值
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
GenerateCustomLayers
- - - - - -カスタム層の生成オプション
真正的
または1
(既定値) |假
または0
カスタム層の生成オプション。数値または逻辑1
(真正的
)または合乎逻辑0
(假
)として指定します。GenerateCustomLayers
を真正的
に設定した場合,ソフトウェアがONNX演算子をそれと等価な組み込みのMATLAB層に変換できないときに,importONNXNetwork
がカスタム層の生成を試みます。importONNXNetwork
は,生成した各カスタム層を,+
で個別のPackageName
00
ファ@ @ルとして保存します。カスタム層を表示または編集するには,関連する00
ファ@ @ルを開きます。カスタム層の詳細にいては,深層学習のカスタム層を参照してください。
例:GenerateCustomLayers = false
PackageName
- - - - - -カスタム層パッケ,ジの名前
文字ベクトル|字符串スカラ
importONNXNetwork
がカスタム層を保存するパッケ,ジの名前。文字ベクトルまたは字符串スカラとして指定します。importONNXNetwork
は,カスタム層のパッケ,ジ+
を現在のフォルダ,に保存します。PackageName
PackageName
を指定しない場合,importONNXNetwork
は,カスタム層を現在のフォルダ,内の+
という名前のパッケ,ジに保存します。パッケジの詳細にいては,パッケ,ジによる名前空間の作成を参照してください。modelfile
例:PackageName = " shufflenet_9 "
例:PackageName = " CustomLayers "
TargetNetwork
- - - - - -深度学习工具箱ネットワクのタゲットタプ
“dagnetwork”
(既定値) |“dlnetwork”
深度学习工具箱ネットワクのタゲットタプ。“dagnetwork”
または“dlnetwork”
として指定します。関数importONNXNetwork
は,ネットワ,ク网
をDAGNetwork
オブジェクトまたはdlnetwork
オブジェクトとして▪▪ンポ▪▪トします。
ネットワ,クを
DAGNetwork
オブジェクトとしてインポートする場合,ONNXモデルによって指定された入力層と出力層か,名前と値の引数InputDataFormats
、OutputDataFormats
,またはOutputLayerType
を使用して指定した入力層と出力層を网
に含めなければなりません。ネットワ,クを
dlnetwork
オブジェクトとしてンポトする場合,importONNXNetwork
によって网
の各出力分岐の末尾にCustomOutputLayer
が追加され,場合によっては入力分岐の先頭にCustomInputLayer
が追加されます。入力のデタ形式または入力のメジサズが不明の場合は,この関数によりCustomInputLayer
が追加されます。これらの層のデタ形式に関するネットワク固有の情報にいては,CustomInputLayer
オブジェクトおよびCustomOutputLayer
オブジェクトのプロパティを参照してください。深度学习工具箱の入出力データ形式を解釈する方法の詳細については、Onnx入出力テンソルから組み込みのmatlab層への変換を参照してください。
例:TargetNetwork = " dlnetwork "
InputDataFormats
- - - - - -ネットワ,ク入力のデ,タ形式
文字ベクトル|字符串スカラ|字符串配列
ネットワ,ク入力のデ,タ形式。文字ベクトル、字符串スカラ,または字符串配列として指定します。importONNXNetwork
は,入力デ,タ形式をonnxファeconnxルから解釈しようと試みます。importONNXNetwork
が入力デ,タ形式を導出できない場合,名前と値の引数InputDataFormats
が役に立ます。
InputDataFomats
には,onnx入力テンソルの順にデ,タ形式を設定します。たとえば,InputDataFormats
を“BSSC”
として指定した場合,インポートされたネットワークは1つのimageInputLayer
入力をもます。importONNXNetwork
がONNX入力テンソルのデータ形式を解釈する方法,およびさまざまな深度学习工具箱入力層についてInputDataFormats
を指定する方法の詳細にいては,Onnx入出力テンソルから組み込みのmatlab層への変換を参照してください。
空のデタ形式([]
または""
)を指定した場合,importONNXNetwork
は入力デ,タ形式を自動的に解釈します。
例:InputDataFormats = ' BSSC '
例:InputDataFormats = " BSSC "
例:InputDataFormats = [" bcs”、“”、“公元前”)
例:InputDataFormats = {bcs,[],“公元前”}
デ,タ型:字符
|字符串
|细胞
OutputDataFormats
- - - - - -ネットワ,ク出力のデ,タ形式
文字ベクトル|字符串スカラ|字符串配列
ネットワ,ク出力のデ,タ形式。文字ベクトル、字符串スカラ,または字符串配列として指定します。importONNXNetwork
は,出力デ,タ形式をonnxファeconnxルから解釈しようと試みます。importONNXNetwork
が出力デ,タ形式を導出できない場合,名前と値の引数OutputDataFormats
が役に立ます。
OutputDataFormats
には,onnx出力テンソルの順にデ,タ形式を設定します。たとえば,OutputDataFormats
を“公元前”
として指定した場合,インポートされたネットワークは1つのclassificationLayer
出力をもます。importONNXNetwork
がONNX出力テンソルのデータ形式を解釈する方法,およびさまざまな深度学习工具箱出力層についてOutputDataFormats
を指定する方法の詳細にいては,Onnx入出力テンソルから組み込みのmatlab層への変換を参照してください。
空のデタ形式([]
または""
)を指定した場合,importONNXNetwork
は出力デ,タ形式を自動的に解釈します。
例:公元前OutputDataFormats = ' '
例:OutputDataFormats =“公元前”
例:OutputDataFormats = [" bcs”、“”、“公元前”)
例:OutputDataFormats = {bcs,[],“公元前”}
デ,タ型:字符
|字符串
|细胞
ImageInputSize
- - - - - -最初のネットワク入力の入力メジのサズ
2個または3個の数値のベクトル
最初のネットワク入力の入力メジのサズ。2次元(高度、宽度、渠道)
または3次元(高度、宽度、深度、渠道)
にそれぞれ対応する,3個または4個の数値のベクトルとして指定します。modelfile
のonnxモデルで入力サズが指定されていない場合にのみ,ネットワクはこの情報を使用します。
例:ImageInputSize=[28 28 1]
(2次元グレスケル入力メジの場合)
例:ImageInputSize=[224 224 3]
(2次元カラ、入力、メ、ジの場合)
例:ImageInputSize=[28 28 36 3]
(3次元カラ入力メジの場合)
OutputLayerType
- - - - - -最初のネットワク出力の層のタプ
“分类”
|“回归”
|“pixelclassification”
最初のネットワク出力の層のタプ。“分类”
、“回归”
,または“pixelclassification”
として指定します。関数importONNXNetwork
は,ClassificationOutputLayer
オブジェクト,RegressionOutputLayer
オブジェクト,またはpixelClassificationLayer
(计算机视觉工具箱)オブジェクトを,ンポトされたネットワクアキテクチャの最初の出力分岐の末尾に追加します。pixelClassificationLayer
(计算机视觉工具箱)オブジェクトを追加するには,计算机视觉工具箱™が必要です。modelfile
のonnxモデルによって出力層のタaaplプが指定されている場合,またはTargetNetwork
を“dlnetwork”
として指定した場合,importONNXNetwork
は名前と値の引数OutputLayerType
を無視します。
例:OutputLayerType = "回归"
类
- - - - - -最初のネットワ,ク出力の出力層のクラス
“汽车”
(既定値) |分类ベクトル|字符串配列|文字ベクトルのcell配列
最初のネットワ,ク出力の出力層のクラス。分类ベクトル、字符串配列、文字ベクトルのcell配列,または“汽车”
として指定します。类
が“汽车”
の場合,importONNXNetwork
によってクラスが分类(1:N)
に設定されます。ここで,N
はクラスの数です。字符串配列または文字ベクトルの cell 配列str
を指定した場合,importONNXNetwork
によって出力層のクラスが分类(str, str)
に設定されます。TargetNetwork
を“dlnetwork”
として指定した場合,importONNXNetwork
は名前と値の引数类
を無視します。
例:类= {' 0 ',' 1 ',' 3 '}
例:类=分类({‘狗’,‘猫’})
デ,タ型:字符
|分类
|字符串
|细胞
FoldConstants
- - - - - -定数畳み込みによる最適化
“深度”
(既定値) |“浅”
|“没有”
定数畳み込みによる最適化。“深度”
、“浅”
または“没有”
として指定します。定数畳み込みは,ONNX演算子からそれと等価な組み込みのMATLAB層への変換の際に,ONNX初期化子(初期定数値)に対して演算を実行することで,インポートされたネットワークアーキテクチャを最適化します。
ソフトウェアにより等価な組み込みのMATLAB層に変換できない演算子がONNXネットワークに含まれている場合(組み込みのmatlab層への変換がサポ,トされているonnx演算子を参照してください),定数畳み込みによる最適化によって,サポートされていない層の数を減らすことができます。FoldConstants
を“深度”
に設定した場合,ネットワ,クに含まれるサポ,トされていない層の数は,この引数を“浅”
に設定した場合と同じか,それより少なくなります。ただし,ネットワ,クをインポートする時間が長くなる可能性があります。ネットワーク アーキテクチャの最適化を無効にするには、FoldConstants
を“没有”
に設定します。
定数畳み込みによる最適化を実行しても,サポ,トされていない層がネットワ,クに残っている場合,importONNXNetwork
はエラ,を返します。この場合,importONNXLayers
またはimportONNXFunction
を使用してネットワクをンポトできます。詳細にいては,代替機能を参照してください。
例:FoldConstants = "浅"
出力引数
网
-事前学習済みのonnxネットワク
DAGNetwork
オブジェクト|dlnetwork
オブジェクト
事前学習済みのonnxネットワ,ク。DAGNetwork
オブジェクトまたはdlnetwork
オブジェクトとして返されます。
ネットワ,クを
DAGNetwork
オブジェクトとしてンポトするには,TargetNetwork
を“dagnetwork”
として指定します。その後,DAGNetwork
オブジェクト上で,関数分类
を使用してクラスラベルを予測します。ネットワ,クを
dlnetwork
オブジェクトとしてンポトするには,TargetNetwork
を“dlnetwork”
として指定します。その後,dlnetwork
オブジェクト上で,関数预测
を使用してクラスラベルを予測します。正しいデ,タ形式を使用して,入力デ,タをdlarray
として指定します(詳細にいては,dlarray
の引数fmt
を参照してください)。
制限
importONNXNetwork
でサポ,トされるonnxのバ,ジョンは,次のとおりです。この関数は,onnx中間表現バ,ジョン6をサポ,トしています。
この関数は,onnx演算子セット6 ~ 13をサポ,トしています。
メモ
エクスポートしたネットワークをインポートする場合,元のネットワークとは異なるネットワークの層が再インポートされ,サポート対象外となる可能性があります。
詳細
組み込みのMATLAB層への変換がサポ,トされているONNX演算子
importONNXNetwork
は,組み込みのMATLAB層への変換を行う次のONNX演算子をサポートします(いくつかの制限があります)。
Onnx演算子 | 深度学习工具箱の層 |
---|---|
|
additionLayer またはnnet.onnx.layer.ElementwiseAffineLayer |
|
averagePooling2dLayer |
|
batchNormalizationLayer |
|
concatenationLayer |
|
なし(重みとして.ンポ.ト) |
|
convolution2dLayer |
|
transposedConv2dLayer |
|
dropoutLayer |
|
eluLayer |
|
fullyConnectedLayer (onnxネットワ,クが再帰型の場合),またはnnet.onnx.layer.FlattenLayer とそれに続くconvolution2dLayer (それ以外の場合) |
|
globalAveragePooling2dLayer |
|
globalMaxPooling2dLayer |
|
gruLayer |
|
“channel-wise” として指定されたnumGroups をもgroupNormalizationLayer |
|
leakyReluLayer |
|
CrossChannelNormalizationLayer |
|
lstmLayer またはbilstmLayer |
|
fullyConnectedLayer (onnxネットワ,クが再帰型の場合),convolution2dLayer (それ以外の場合) |
|
maxPooling2dLayer |
|
multiplicationLayer |
|
reluLayer またはclippedReluLayer |
|
sigmoidLayer |
|
|
|
additionLayer |
|
tanhLayer |
*Conv
演算子の垫
属性が,2の要素(p1, p2)
のみをもベクトルである場合,importONNXNetwork
は,(p1, p2, p1, p2)
として指定された名前と値のペアの引数“填充”
をもconvolution2dLayer
としてConv
を▪▪ンポ▪▪トします。
Onnx演算子 | Onnxンポ,タ,カスタム層 |
---|---|
|
nnet.onnx.layer.ClipLayer |
|
nnet.onnx.layer.ElementwiseAffineLayer |
|
nnet.onnx.layer.FlattenLayer またはnnet.onnx.layer.Flatten3dLayer |
|
nnet.onnx.layer.IdentityLayer |
|
nnet.onnx.layer.ElementwiseAffineLayer |
|
nnet.onnx.layer.PReluLayer |
|
nnet.onnx.layer.FlattenLayer |
|
nnet.onnx.layer.ElementwiseAffineLayer |
Onnx演算子 | 图像处理工具箱™ |
---|---|
DepthToSpace |
depthToSpace2dLayer (图像处理工具箱) |
调整 |
resize2dLayer (图像处理工具箱)またはresize3dLayer (图像处理工具箱) |
SpaceToDepth |
spaceToDepthLayer (图像处理工具箱) |
Upsample |
resize2dLayer (图像处理工具箱)またはresize3dLayer (图像处理工具箱) |
ONNX入出力テンソルから組み込みのMATLAB層への変換
importONNXNetwork
は,ONNXネットワークの入出力テンソルのデータ形式を解釈し,それらを組み込みのMATLAB入出力層に変換しようと試みます。解釈の詳細にいては,ONNX入力テンソルから深度学习工具箱層への変換およびOnnx出力テンソルからmatlab層への変換の表を参照してください。
深度学习工具箱では,各データ形式の文字は次のラベルのいずれかでなければなりません。
年代
-空間C
-チャネルB
-バッチ観測値T
—時間またはシケンスU
-指定なし
ONNX入力テンソルから深度学习工具箱層への変換
デ,タ形式 | デ,タの解釈 | 深度学习工具箱の層 | ||
---|---|---|---|---|
Onnx入力テンソル | Matlab入力形式 | 形状 | 種類 | |
公元前 |
CB |
C行n列の配列。ここで,c は特徴の数、n は観測値の数です。 | 特徴 | featureInputLayer |
bcs 、BSSC 、CSS 、SSC |
SSCB |
高x宽x c x nの数値配列。ここで,h、w、c、および n は、それぞれイメージの高さ、幅、チャネル数、および観測値の数です。 |
2次元 | imageInputLayer |
BCSSS 、BSSSC 、包括 、SSSC |
SSSCB |
高x宽x深x深の数値配列。ここで,h、w、d、c、および n は、それぞれイメージの高さ、幅、深さ、チャネル数、およびイメージの観測値の数です。 |
3次元 | image3dInputLayer |
时间待定 |
认知行为治疗 |
C x s x nの行列。ここで,c はシーケンスの特徴の数、s はシーケンス長、n はシーケンスの観測値の数です。 |
ベクトルシ,ケンス | sequenceInputLayer |
涂层 |
SSCBT |
高x宽x c x s x nの配列。ここで,h、w、c、および n は、それぞれイメージの高さ、幅、およびチャネル数に対応し、s はシーケンス長、n はイメージ シーケンスの観測値の数です。 |
2次元メジシケンス | sequenceInputLayer |
TBCSSS |
SSSCBT |
高x宽x深x c x s x nの配列。ここで,h、w、d、および c は、それぞれイメージの高さ、幅、深さ、およびチャネル数に対応し、s はシーケンス長、n はイメージ シーケンスの観測値の数です。 |
3次元メジシケンス | sequenceInputLayer |
ONNX出力テンソルからMATLAB層への変換
デ,タ形式 | MATLAB層 | |
---|---|---|
Onnx出力テンソル | Matlab出力形式 | |
公元前 、时间待定 |
CB 、认知行为治疗 |
classificationLayer |
bcs 、BSSC 、CSS 、SSC 、BCSSS 、BSSSC 、包括 、SSSC |
SSCB 、SSSCB |
pixelClassificationLayer (计算机视觉工具箱) |
涂层 、TBCSSS |
SSCBT 、SSSCBT |
regressionLayer |
图形处理器におけるaapl / aapl / aapl / aapl / aapl / aapl
Gpu上ではimportONNXNetwork
は実行されません。ただし,importONNXNetwork
は,深層学習用の事前学習済みニュ,ラルネットワ,クを,gpuで使用可能なDAGNetwork
オブジェクトまたはdlnetwork
オブジェクトとして▪▪ンポ▪▪トします。
ネットワ,クを
DAGNetwork
オブジェクトとしてンポトした場合,分类
を使用して,CPUまたはgpuで実行できます。名前と値の引数ExecutionEnvironment
を使用して,ハ,ドウェア要件を指定します。複数の出力があるネットワ,クの場合,DAGNetwork
オブジェクト用の関数预测
を使用します。ネットワ,クを
DAGNetwork
オブジェクトとしてンポトした場合,预测
を使用して,CPUまたはgpuで実行できます。名前と値の引数ExecutionEnvironment
を使用して,ハ,ドウェア要件を指定します。ネットワ,クに複数の出力がある場合は,名前と値の引数ReturnCategorical
を真正的
として指定します。ネットワ,クを
dlnetwork
オブジェクトとしてンポトした場合,预测
を使用して,CPUまたはgpuで実行できます。入力デ,タとネットワ,クパラメ,タ,のいずれかがgpuに保存されている場合,関数预测
をgpuで実行できます。minibatchqueue
を使用して入力デ,タのミニバッチの処理と管理を行う場合,gpuが使用可能であれば,出力はminibatchqueue
オブジェクトによってgpu配列に変換されます。dlupdate
を使用して,dlnetwork
オブジェクトの学習可能パラメタをgpu配列に変換します。Dlnet = dlupdate(@gpuarray, Dlnet)
trainNetwork
を使用することにより,インポートしたネットワークに1つのCPUまたは1つのGPUで学習させることができます。実行環境のオプションを含む学習オプションを指定するには,関数trainingOptions
を使用します。名前と値の引数ExecutionEnvironment
を使用して,ハ,ドウェア要件を指定します。学習を高速化する方法の詳細にいては,并行、gpu和云中扩展深度学习を参照してください。
GPUを使用するには并行计算工具箱™とサポートされているGPUデバイスが必要です。サポトされているデバスにいては,リリス別のgpuサポト(并行计算工具箱)を参照してください。
ヒント
事前学習済みのネットワークを新しいイメージの予測または転移学習に使用するには,インポートしたモデルの学習に使用したイメージに行った前処理と同じようにイメージを前処理しなければなりません。最も一般的な前処理ステップは,イメージのサイズ変更,イメージの平均値の減算,イメージのBGR形式からRGB形式への変換です。
学習および予測用のメジの前処理の詳細は,メ,ジの深層学習向け前処理を参照してください。
代替機能
ONNX模型格式的深度学习工具箱转换器には,事前学習済みのonnxネットワクをンポトするための3の関数(importONNXNetwork
、importONNXLayers
,およびimportONNXFunction
)が用意されています。
インポートしたネットワークに,組み込みのMATLAB層への変換がサポートされていないONNX演算子が含まれており(組み込みのmatlab層への変換がサポ,トされているonnx演算子を参照),importONNXNetwork
がカスタム層を生成しない場合,importONNXNetwork
はエラ,を返します。この場合でも,importONNXLayers
を使用してネットワクアキテクチャと重みをンポトするか,importONNXFunction
を使用してONNXParameters
オブジェクトおよびモデル関数としてネットワクをンポトすることができます。
各シナリオに最適なンポト関数の詳細にいては,选择Function导入ONNX预训练网络を参照してください。
バ,ジョン履歴
R2018aで導入R2021b:一会
オプションは削除済み
R2021b以降はエラ
一会
は削除されました。代わりに类
を使用してください。コ,ドを更新するには,一会
のすべての@ @ンスタンスを类
に置き換えます。
R2021b:importONNXNetwork
はONNXファ@ @ルの情報から入出力層を作成することが不可能
R2021bでの動作変更
OnnxモデルをDAGNetwork
オブジェクトとしてインポートする場合,インポートするネットワークには入力層と出力層が含まれていなければなりません。importONNXNetwork
は,onnx入出力テンソルを組み込みのmatlab層に変換しようと試みます。これまでimportONNXNetwork
を使用して組み込みのMATLAB入出力層と共にインポートできたネットワークであっても,現在はインポート時にimportONNXNetwork
によってエラ,が返される可能性があります。この場合,次のいずれかを行ってコードを更新します。
名前と値の引数
TargetNetwork
を“dlnetwork”
として指定し,ネットワ,クをdlnetwork
オブジェクトとして▪▪ンポ▪▪ト。名前と値の引数
InputDataFormats
、OutputDataFormats
,およびOutputLayerType
を使用して,。importONNXLayers
を使用して,プレスホルダ層を含む層グラフとしてネットワクをンポト。importONNXFunction
を使用して,モデル関数およびONNXParameters
オブジェクトとしてネットワクをンポト。
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。