TensorFlow FaceNet モデルの変換

危険

ここで説明されているコードは非推奨になりました。従来のソリューションの適用を避けるため使用しないでください。下位互換性を確保するためにしばらく保持されますが、最新のアプリケーションでは使用してはなりません

このガイドでは、非推奨となった変換方法について説明します。新しい推奨方法に関するガイドは、サポートされるモデル形式に記載されています。

公開されている事前トレーニング済み FaceNet モデルには、グラフのトレーニング部分と推論部分の両方が含まれています。この 2 つの状態の切り替えは、プレースホルダー値を使用して管理できます。中間表現 (IR) モデルは推論を目的としているため、トレーニング部分は冗長です。

このネットワークには 2 つの入力があります。グラフの状態 (トレーニング/推論) を管理するブールタイプの phase_train と、バッチ結合パターンの一部である batch_size です。

../../../../../../_images/FaceNet.svg

TensorFlow FaceNet モデルを IR に変換

FaceNet OpenVINO モデルを生成するには、次のパラメーターを使用して TensorFlow FaceNet モデルをモデル変換 API にフィードします。

 mo
--input_model path_to_model/model_name.pb       \
--freeze_placeholder_with_value "phase_train->False"

--input_shape または --batch/-b が指定されない場合、バッチ結合パターンはモデルのデフォルト形状を持つプレースホルダーに変換されます。それ以外の場合、プレースホルダー形状にはカスタム・パラメーターが含まれます。

  • freeze_placeholder_with_value "phase_train->False" はグラフを推論モードへ切り替えます

  • batch`*/*`-b は元のネットワーク・バッチを上書きするために適用できます

  • input_shapeinput の有無にかかわらず適用されます

  • 他のオプションも適用可能です