2017-12-12 3 views
0

tf.layerを保存する方法はありますか?基礎となる変数を指定せずに個々のTensorFlowレイヤを保存する

saver = tf.train.Saver(var_list={"varName": varName}) 
saver.save(sess, "path") 

はしかし、これはレイヤーでは動作しません:

Tensorflowは、個々の変数の保存を可能にします。その後、エラーにSaverコンストラクタを呼び出すと、特定の層に関連付けられた変数を取得するためにtf.get_collectionを使用した:

Saver(var_list={"varName": variableCollection}) 

ValueError: Slices must all be slices: <tf.Variable 'vars1/kernel:0' shape=(1, 1) dtype=float32_ref>

私の知っている唯一の解決策は、唯一の単一の変数に渡すことですレイヤー内のすべての変数をループして保存する必要がない場合は、はるかに便利です。

Saver(var_list={"varName": variableCollection[0]}) 
+0

'saver = tf.train.Saver()'と 'saver.save(sess、 'path')'を使うと、モデルのすべての変数とアーキテクチャを保存できます。 –

+0

私はすべてのレイヤーを保存したくないことを示しました。 –

答えて

0

あなたは、変数を取得し、セーバーにそれらを渡すためにlayer.variablesを呼び出すことができます(tf.layers.Denseのような)オブジェクト指向の層を使用する場合。

+0

ドキュメントやコード例をリンクすることはできますか? –

関連する問題