このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
事前学習済みの ONNX ネットワークをインポートする関数の選択
Deep Learning Toolbox™ Converter for ONNX™ Model Format には、事前学習済みの ONNX (Open Neural Network Exchange) ネットワークをインポートするための 3 つの関数 (importONNXNetwork
、importONNXLayers
、および importONNXFunction
) が用意されています。
このフロー チャートは、各シナリオに最適なインポート関数を示しています。
メモ
既定では、ソフトウェアが ONNX 演算子をそれと等価な組み込み MATLAB® 層に変換できないときに、importONNXNetwork
および importONNXLayers
がカスタム層の生成を試みます。ソフトウェアによる変換がサポートされている演算子の一覧については、組み込みの MATLAB 層への変換がサポートされている ONNX 演算子を参照してください。
importONNXNetwork
および importONNXLayers
は、生成されたカスタム層を現在のフォルダー内のパッケージ +
に保存します。PackageName
importONNXNetwork
および importONNXLayers
は、組み込み MATLAB 層への変換がサポートされていない各 ONNX 演算子のカスタム層を自動生成しません。
判定
この表は、ONNX のインポート関数を選択するワークフロー内の各判定について説明しています。
判定 | 説明 |
---|---|
すべての ONNX 演算子が、等価な組み込み MATLAB 層への変換をサポートしているか、もしくは、ソフトウェアがカスタム層を自動生成できるか? |
|
インポートしたネットワークを展開するか? | importONNXNetwork または importONNXLayers を使用する場合、インポートしたネットワークのコードを生成できます。コード生成用の DAGNetwork オブジェクトを作成するには、コード生成のための事前学習済みネットワークの読み込み (MATLAB Coder)を参照してください。 |
インポートしたネットワークをディープ ネットワーク デザイナーを使用して読み込むか? | importONNXNetwork または importONNXLayers を使用する場合、インポートしたネットワークを ディープ ネットワーク デザイナー アプリを使用して読み込むことができます。 |
インポートしたネットワークに再学習させる場合にカスタム学習ループを使用するか? |
|
アクション
この表は、ONNX のインポート関数を選択するワークフロー内の各アクションについて説明しています。
アクション | 説明 |
---|---|
importONNXNetwork を使用する | importONNXNetwork は、予測に使用する準備が整った DAGNetwork オブジェクトまたは dlnetwork オブジェクトを返します (詳細については、TargetNetwork の名前と値の引数を参照)。DAGNetwork オブジェクトの関数 classify を使用するか dlnetwork オブジェクトの関数 predict を使用して、クラス ラベルを予測します。 |
importONNXLayers を使用する | importONNXLayers は、DAGNetwork オブジェクトまたは dlnetwork オブジェクトと互換性がある LayerGraph オブジェクトを返します (詳細については、TargetNetwork の名前と値の引数を参照)。importONNXLayers はサポートされない層の代わりにプレースホルダー層を挿入します。プレースホルダー層を検索して置換します。その後、DAGNetwork オブジェクトを返す assembleNetwork を使用して層グラフを組み立てるか、dlnetwork を使用して層グラフを dlnetwork オブジェクトに変換できます。 |
importONNXFunction を使用する | importONNXFunction は、ネットワーク パラメーターを含む ONNXParameters オブジェクトと、ネットワーク アーキテクチャを含むモデル関数 (Imported ONNX Model Functionを参照) を返します。ONNXParameters オブジェクトおよびモデル関数は、予測に使用する準備が整っています。例については、Predict Using Imported ONNX Functionを参照してください。 |
プレースホルダー層を検索して置換する | インポートしたネットワークに含まれるプレースホルダー層の名前とインデックスを検索するには、関数 findPlaceholderLayers を使用します。その後、プレースホルダー層を、ユーザーが定義した新しい層に置き換えることができます。層を置き換えるには、replaceLayer を使用します。 |
参考
importONNXNetwork
| importONNXLayers
| importONNXFunction
| DAGNetwork
| dlnetwork
| layerGraph
| ONNXParameters