importTensorFlowNetwork
importTensorFlowNetwork
は将来のリリースで削除される予定です。代わりに importNetworkFromTensorFlow
を使用してください。 (R2023b 以降)コードの更新の詳細については、バージョン履歴を参照してください。
説明
は、SavedModel 形式 (これは TensorFlow™ 2 とのみ互換性があります) でモデルが格納されているフォルダー net
= importTensorFlowNetwork(modelFolder
)modelFolder
から事前学習済みの TensorFlow ネットワークをインポートします。この関数は、TensorFlow-Keras の Sequential API または Functional API を使用して作成された TensorFlow ネットワークをインポートできます。importTensorFlowNetwork
は、saved_model.pb
ファイルで定義された層、および variables
サブフォルダーに格納された学習済みの重みをインポートし、ネットワーク net
を DAGNetwork
オブジェクトまたは dlnetwork
オブジェクトとして返します。
importTensorFlowNetwork
を使用するには、Deep Learning Toolbox™ Converter for TensorFlow Models サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、importTensorFlowNetwork
によってダウンロード用リンクが表示されます。
メモ
カスタムの TensorFlow 層をインポートしたとき、またはソフトウェアが TensorFlow 層をそれと等価な組み込みの MATLAB® 層に変換できないとき、importTensorFlowNetwork
はカスタム層の生成を試みます。ソフトウェアによる変換がサポートされている層の一覧については、組み込みの MATLAB 層への変換がサポートされている TensorFlow-Keras 層を参照してください。
importTensorFlowNetwork
は、生成されたカスタム層および関連する TensorFlow 演算子を名前空間 +
に保存します。 modelFolder
importTensorFlowNetwork
は、組み込みの MATLAB 層への変換がサポートされていない各 TensorFlow 層のカスタム層を自動生成しません。サポートされていない層の処理方法の詳細については、ヒントを参照してください。
は、1 つ以上の名前と値の引数で指定された追加オプションを使用して、事前学習済みの TensorFlow ネットワークをインポートします。たとえば、net
= importTensorFlowNetwork(modelFolder
,Name,Value
)'OutputLayerType','classification'
はネットワークを DAGNetwork
としてインポートしますが、その際、インポートされたネットワーク アーキテクチャの末尾に分類出力層が追加されます。
例
入力引数
出力引数
詳細
ヒント
インポートしたネットワークに、組み込みの MATLAB 層への変換がサポートされていない層が含まれており (組み込みの MATLAB 層への変換がサポートされている TensorFlow-Keras 層を参照)、
importTensorFlowNetwork
がカスタム層を生成しない場合、importTensorFlowNetwork
はエラーを返します。この場合でも、importTensorFlowLayers
を使用してネットワーク アーキテクチャをインポートできます。事前学習済みのネットワークを新しいイメージの予測または転移学習に使用するには、インポートしたモデルの学習に使用したイメージと同じようにイメージを前処理しなければなりません。最も一般的な前処理ステップは、イメージのサイズ変更、イメージの平均値の減算、イメージの BGR 形式から RGB 形式への変換です。
学習および予測用のイメージの前処理の詳細については、イメージの深層学習向け前処理を参照してください。
名前空間
+
の親フォルダーが MATLAB パス上にない場合、この名前空間のメンバー (カスタム層および TensorFlow 演算子) にアクセスすることはできません。詳細については、Namespaces and the MATLAB Pathを参照してください。Namespace
MATLAB は 1 ベースのインデックスを使用しますが、Python® は 0 ベースのインデックスを使用します。つまり、配列の最初の要素のインデックスは、MATLAB と Python でそれぞれ 1 と 0 になります。MATLAB のインデックスの詳細については、配列インデックス付けを参照してください。MATLAB で、Python で作成されたインデックス (
ind
) の配列を使用するには、配列をind+1
に変換します。その他のヒントについては、Tips on Importing Models from TensorFlow, PyTorch, and ONNXを参照してください。
代替機能
TensorFlow ネットワークを SavedModel 形式でインポートするには、importTensorFlowNetwork
または importTensorFlowLayers
を使用します[2]。または、ネットワークが HDF5 形式か JSON 形式の場合は、importKerasNetwork
か importKerasLayers
を使用してネットワークをインポートします。
参照
[1] TensorFlow. https://www.tensorflow.org/.
[2] Using the SavedModel format. https://www.tensorflow.org/guide/saved_model.