このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
importKerasNetwork
事前学習済みの Keras ネットワークおよび重みのインポート
説明
は、1 つ以上の名前と値のペアの引数で指定された追加オプションを使用して、事前学習済みの TensorFlow -Keras ネットワークとその重みをインポートします。net
= importKerasNetwork(modelfile
,Name,Value
)
たとえば、importKerasNetwork(modelfile,'WeightFile',weights)
は、モデル ファイル modelfile
からネットワークを、重みファイル weights
から重みをインポートします。この場合、modelfile
は HDF5 または JSON 形式にできます。重みファイルは HDF5 形式でなければなりません。
例
入力引数
出力引数
制限
importKerasNetwork
は、次のように TensorFlow-Keras の各バージョンをサポートします。この関数は、バージョン 2.2.4 までの TensorFlow-Keras を完全にサポートします。
この関数は、バージョン 2.2.5 ~ 2.4.0 の TensorFlow-Keras を制限付きでサポートします。
詳細
ヒント
ネットワークに、Deep Learning Toolbox Converter for TensorFlow Models がサポートしない層 (サポートされている Keras 層を参照) が含まれる場合、
importKerasNetwork
はエラー メッセージを返します。この場合でも、importKerasLayers
を使用してネットワーク アーキテクチャと重みをインポートできます。多入力多出力 (MIMO) の Keras ネットワークをインポートできます。ネットワークに、入力の入力サイズ情報および出力の損失情報が含まれている場合は、
importKerasNetwork
を使用します。それ以外の場合はimportKerasLayers
を使用します。関数importKerasLayers
は、入力と出力のプレースホルダー層を挿入します。インポートした後に、findPlaceholderLayers
とreplaceLayer
を使用して、プレースホルダー層の検索と置換をそれぞれ行えます。MIMO Keras ネットワークをインポートするワークフローは、MIMO ONNX™ ネットワークをインポートするワークフローと同じです。例については、複数の出力をもつ ONNX ネットワークのインポートと組み立てを参照してください。多入力多出力の深層学習ネットワークの詳細については、多入力および多出力ネットワークを参照してください。事前学習済みのネットワークを新しいイメージの予測または転移学習に使用するには、インポートしたモデルの学習に使用したイメージに行った前処理と同じようにイメージを前処理しなければなりません。最も一般的な前処理ステップは、イメージのサイズ変更、イメージの平均値の減算、イメージの 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を参照してください。
代替機能
HDF5 形式または JSON 形式で TensorFlow-Keras ネットワークをインポートするには、
importKerasNetwork
またはimportKerasLayers
を使用します。TensorFlow ネットワークが SavedModel 形式の場合は、importTensorFlowNetwork
またはimportTensorFlowLayers
を使用します。カスタム TensorFlow-Keras 層をインポートする場合、またはソフトウェアが TensorFlow-Keras 層を同等の組み込み MATLAB 層に変換できない場合、
importTensorFlowNetwork
またはimportTensorFlowLayers
を使用して、カスタム層の生成を試みることができます。たとえば、importTensorFlowNetwork
とimportTensorFlowLayers
は、TensorFlow-KerasLambda
層をインポートするときにカスタム層を生成します。
参照
[1] Keras: The Python Deep Learning library. https://keras.io.