このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
importONNXNetwork
(削除予定) 事前学習済みの ONNX ネットワークのインポート
importONNXNetwork
は将来のリリースで削除される予定です。代わりに importNetworkFromONNX
を使用してください。 (R2023b 以降)コードの更新の詳細については、バージョン履歴を参照してください。
説明
は、ファイル net
= importONNXNetwork(modelfile
)modelfile
から事前学習済みの ONNX™ (Open Neural Network Exchange) ネットワークをインポートします。この関数は、ネットワーク net
を DAGNetwork
オブジェクトまたは dlnetwork
オブジェクトとして返します。
importONNXNetwork
には、Deep Learning Toolbox™ Converter for ONNX Model Format サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、importONNXNetwork
によってダウンロード用リンクが表示されます。
メモ
既定では、ソフトウェアが ONNX 演算子をそれと等価な組み込みの MATLAB® 層に変換できないときに、importONNXNetwork
がカスタム層の生成を試みます。ソフトウェアによる変換がサポートされている演算子の一覧については、組み込みの MATLAB 層への変換がサポートされている ONNX 演算子を参照してください。
importONNXNetwork
は、生成されたカスタム層を名前空間 +
に保存します。modelfile
importONNXNetwork
は、組み込みの MATLAB 層への変換がサポートされていない各 ONNX 演算子のカスタム層を自動生成しません。サポートされていない層の処理方法の詳細については、代替機能を参照してください。
は、1 つ以上の名前と値の引数で指定された追加オプションを使用して、事前学習済みの ONNX ネットワークをインポートします。たとえば、net
= importONNXNetwork(modelfile
,Name=Value
)OutputLayerType="classification"
はネットワークを DAGNetwork
オブジェクトとしてインポートしますが、その際、インポートされたネットワーク アーキテクチャの最初の出力分岐の末尾に分類出力層が追加されます。
例
入力引数
名前と値の引数
出力引数
制限
importONNXNetwork
は以下をサポートします。ONNX 中間表現 version 9
ONNX 演算子セット 6 ~ 20
メモ
エクスポートしたネットワークをインポートする場合、元のネットワークの層とは異なるネットワークの層が再インポートされ、サポート対象外となる可能性があります。
詳細
ヒント
事前学習済みのネットワークを新しいイメージの予測または転移学習に使用するには、インポートしたモデルの学習に使用したイメージと同じようにイメージを前処理しなければなりません。最も一般的な前処理ステップは、イメージのサイズ変更、イメージの平均値の減算、イメージの BGR 形式から RGB 形式への変換です。
学習および予測用のイメージの前処理の詳細については、イメージの深層学習向け前処理を参照してください。
MATLAB は 1 ベースのインデックスを使用しますが、Python® は 0 ベースのインデックスを使用します。つまり、配列の最初の要素のインデックスは、MATLAB と Python でそれぞれ 1 と 0 になります。MATLAB のインデックスの詳細については、配列インデックス付けを参照してください。MATLAB で、Python で作成されたインデックス (
ind
) の配列を使用するには、配列をind+1
に変換します。その他のヒントについては、Tips on Importing Models from TensorFlow, PyTorch, and ONNXを参照してください。
代替機能
Deep Learning Toolbox Converter for ONNX Model Format には、事前学習済みの ONNX ネットワークをインポートするための 3 つの関数 (importONNXNetwork
、importONNXLayers
、および importONNXFunction
) が用意されています。
インポートしたネットワークに、組み込みの MATLAB 層への変換がサポートされていない ONNX 演算子が含まれており (組み込みの MATLAB 層への変換がサポートされている ONNX 演算子を参照)、importONNXNetwork
がカスタム層を生成しない場合、importONNXNetwork
はエラーを返します。この場合でも、importONNXLayers
を使用してネットワーク アーキテクチャと重みをインポートするか、importONNXFunction
を使用して ONNXParameters
オブジェクトおよびモデル関数としてネットワークをインポートすることができます。