Tensorflowのオブジェクト検出APIを使用して、トレーニングでフリーズしたレイヤーを変更するにはどうすればよいですか?

私が使用していますTensorflowの物体検出のAPIをトレーニングに。

どのファイルで、フリーズされたレイヤーが定義され、トレーニングでモデルを微調整します。微調整でフリーズしたレイヤーを変更する実験をする必要があります。

たとえば、Resnet50構成を使用している場合、フリーズしたレイヤーをどこで変更できますか?

アンダーワールド

それは確かにあなたがすることができます。

トレーニング用protoファイルを読み取るfreeze_variablesというフィールドがあります。これは、フリーズするすべての変数を含むリストであると想定されます。たとえば、トレーニング中にそれらを除外します。

最初のブロックの最初のユニットの最初のボトルネックからウェイトをフリーズしたい場合は、追加することでそれを行うことができます

freeze_variables: ["resnet_v1_50/block1/unit_1/bottleneck_v1/conv1/weights"]

したがって、構成ハエは次のようになります。

train_config: {
  batch_size: 1
  freeze_variables: ["resnet_v1_50/block1/unit_1/bottleneck_v1/conv1/weights"]
  ...

テンソルフローグラフを確認することで、ウェイトが実際にフリーズしていることを確認できます。 ここに画像の説明を入力してください

示されているように、ウェイトはtrainもう動作していません。

の特定のパターンを選択freeze_variablesすること、変数を非常に柔軟にフリーズできます(テンソルフローグラフからレイヤー名を取得できます)。

ところで、ここでは実際のフィルタリング操作があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ