importNetworkFromONNX
R2026b説明
Add-On Required: この機能には Deep Learning Toolbox Converter for ONNX Model Format アドオンが必要です。
は、ファイル net = importNetworkFromONNX(modelfile)modelfile から事前学習済みの Open Neural Network Exchange (ONNX™) ネットワークをインポートします。この関数は、ネットワーク net を初期化された dlnetwork オブジェクトとして返します。
importNetworkFromONNX には、Deep Learning Toolbox™ Converter for ONNX Model Format サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、importNetworkFromONNX によってダウンロード用リンクが表示されます。
メモ
importNetworkFromONNX 関数は、ONNX 層をインポートするときにカスタム層を生成できます。詳細については、Algorithms を参照してください。関数は、生成されたカスタム層を +modelfile 名前空間に保存します。
は、1 つ以上の名前と値の引数で指定された追加オプションを使用して、事前学習済みの ONNX ネットワークをインポートします。たとえば、net = importNetworkFromONNX(modelfile,Name=Value)Namespace="CustomLayers" は、生成されたカスタム層と関連する関数を現在のフォルダーの +CustomLayers 名前空間に保存します。
例
入力引数
名前と値の引数
出力引数
制限
importNetworkFromONNX は以下をサポートします。
ONNX 中間表現 version 9
ONNX 演算子セット 6 ~ 20
メモ
エクスポートしたネットワークをインポートする場合、元のネットワークの層とは異なるネットワークの層が再インポートされ、サポート対象外となる可能性があります。
詳細
ヒント
事前学習済みのネットワークを新しいイメージの予測または転移学習に使用するには、インポートしたモデルの学習に使用したイメージと同じようにイメージを前処理しなければなりません。最も一般的な前処理ステップは、イメージのサイズ変更、イメージの平均値の減算、イメージの BGR 形式から RGB 形式への変換です。
学習および予測用のイメージの前処理の詳細については、イメージの深層学習向け前処理を参照してください。
+名前空間の親フォルダーが MATLAB パス上にない場合、その名前空間のメンバー (カスタムの層および演算子) にアクセスすることはできません。詳細については、名前空間と MATLAB パスを参照してください。NamespaceMATLAB は 1 ベースのインデックスを使用しますが、Python® は 0 ベースのインデックスを使用します。つまり、配列の最初の要素のインデックスは、MATLAB と Python でそれぞれ 1 と 0 になります。MATLAB のインデックスの詳細については、配列インデックス付けを参照してください。MATLAB で、Python で作成されたインデックス (
ind) の配列を使用するには、配列をind+1に変換します。その他のヒントについては、TensorFlow、PyTorch、および ONNX からモデルをインポートする際のヒントを参照してください。
アルゴリズム
importNetworkFromONNX 関数は、次の手順を順番に試して ONNX 演算子を MATLAB にインポートします。
関数は、ONNX 演算子を組み込みの MATLAB 層としてインポートすることを試みます。詳細については、組み込みの MATLAB 層への変換がサポートされている ONNX 演算子を参照してください。
関数は、ONNX 演算子をカスタム層としてインポートすることを試みます。
importNetworkFromONNXは、生成されたカスタム層および関連する関数を+名前空間に保存します。例については、自動生成されたカスタム層をもつ ONNX ネットワークのインポートを参照してください。Namespace関数は、プレースホルダー関数を含むカスタム層として ONNX 演算子をインポートします。プレースホルダー関数は、ネットワークを使用する前に補完しなければなりません。
これらの手順を実行してもネットワークがインポートされない場合は、importONNXFunction 関数を使用できます。importONNXFunction は、ネットワーク パラメーターを含む ONNXParameters オブジェクトと、ネットワーク アーキテクチャを含むモデル関数としてモデルをインポートします。
場合によっては、インポートしたネットワークを初期化する必要があることがソフトウェアによって示されます。
代替機能
ブロック
ONNX Model Predict ブロックを使用して ONNX ネットワークを扱うこともできます。このブロックを使用すると、ONNX 関数を読み込んでデータを前処理および後処理したり、入力端子と出力端子を対話的に構成したりすることもできます。
参照
[1] GitHub. “Open Neural Network Exchange.” Accessed July 3, 2023. https://github.com/onnx/.
[2] "ONNX | Home.” Accessed July 3, 2023. https://onnx.ai/.


