2017-02-06 9 views
1

のために、このAPIに関するドキュメントおよび多数のSOの記事によると、セーバーのオブジェクトは、私は自動的に(...variables...)を移入するためにどのような方法があるかどうかを知りたいと思ったパイソン/ Tensorflow:セイバーネットワーク

saver = tf.train.Saver(...variables...) 

使用して作成する必要があります私のネットワークで使用されているすべての変数と操作を明示的にリストする必要はありません。

私のネットワークはわずか2層なので大きな煩わしさはありませんが、すべての変数を手作業でリストアップする必要があるような真っ只中の石器時代を感じています。

答えて

1

default initializer for tf.train.Saverは、グラフにすべてのモデル変数を含む保存可能オブジェクトをすべて保存/復元するインスタンスを作成します。したがって、あなたは書くことができるはずです:

saver = tf.train.Saver() 

...そして、あまりにも多くのトラブルなしに希望の効果を得る。

+0

ありがとう、私はそれを今すぐ次のコードを使用して復元しようとしています:sess:\ new_saver = tf.train.import_meta_graph( "model-path.meta")\ new_saver.restoreとして 'tf.Session() しかし、tf.get_collection( 'vars')は空の配列を返します。どのように私はそれを復元しようとしている何か間違っていますか? – dant

+0

'tf.get_collection( 'vars')'は、意図的にその名前のコレクションにいくつかの変数を追加していない限り、おそらく空リストを返すことに注意してください。おそらく 'tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES)'を意味しましたか?(特に指定しない限り、ほとんどの変数のデフォルトのコレクションです) – mrry