2017-08-31 5 views
0

ビデオフレームから機能を抽出するために、pre trained model、Google Net Inception V1をダウンロードしています。次に、訓練可能な変数がほとんどない。私は2つの疑問に対処する必要があります。あらかじめ訓練されたモデル変数を非訓練可能な初期設定に設定する

  1. tf.trainable_variablesは()

    tf.trainable_variables() includes variables list of pre trained model

  2. saver.restore(SESの、checkpoint_file)
が事前ためNoneTypeを返す事前訓練されたモデルの変数のリストを含みます訓練されたモデル

答えて

0

TensorFlow Saver受け入れるVariableリストを構築するときにVariableを使用すると、デフォルトのグラフにすべての変数があります。

また、optimizerオペレータは、Variableリストを受け入れ、トレーニング時にどの変数を最適化するかを指定します。デフォルトのグラフには、すべてVariableもあります。

あなたは2 Saver秒、負荷InceptionV1Variable秒に1つ、あなた自身のVariableのための1つを定義することができます。

そして、あなたはvar_listをパラメータするために、独自のVariable Sを渡すことができoptimizerを構築し、その列車はちょうどあなた自身のVariable秒を更新しますが、いないときInceptionV1Variable秒。

+0

変数を初期化するときに問題が発生するInceptionV1を復元するときにtf.trainable_variables()とtf.global_variables_initializer()の両方を初期化しないでください。InceptionV1を含むすべての変数を初期化すると思います。 – Tulsi

+0

私はあなたの答えを理解していますさらに、私は同じアプローチを採用しています。しかし、tf.global_variables_initializer()も "インセプションモデル変数"を再初期化したので、どのようにして "私自身の変数"のみを初期化しましたか? – Tulsi

+0

'sess.run(tf.global_variables_initializer())の後に' Saver.restore'を呼び出すことができます –

関連する問題