2017-04-26 10 views
1

テンソルフローのトレーニングプロセスでは、2つのモデルを切り替える必要があります。 tf.saverを使用してハードディスクからモデルを復元するのは、実際には時間がかかる(私のコードでは切り替えが頻繁に行われる)ため、モデルパラメータをメモリに保存して復元する方法があるのだろうかちょうどメモリから。私のモデルはかなり小さく、RAMに確実に格納することができます。 stackoverflowから1つの答えがあります。 Storing tensorflow models in memoryしかし、私はこれがどのように機能するのかよく分かりません。誰もがこの目標を達成する方法を知っていますか?ありがとうございました。Tensorflow:トレーニング中にモデルをメモリに保存する方法

あなたはちょうどこのような二つの別々のグラフを使用する必要があり
+0

具体的には理解の助けが必要ですか?リンクした質問には答えがあります。 – msitt

+0

私はそれを使用する方法を理解していません。 Comp1とComp2は実際に何を意味しますか? –

答えて

0

:あなたは実際に彼らはを参照してくださいよ、あなただけそれらを使用することができsess2あなたがsess1を作成したら、with文を必要としません

g1 = tf.Graph() 
g2 = tf.Graph() 

with g1.as_default(): 
    # build your 1st model 
    sess1 = tf.Session(graph=g1) 
    # do some work with sess1 on g1 
    sess1.run(...) 

with g2.as_default(): 
    # build your 2nd model 
    sess2 = tf.Session(graph=g2) 
    # do some work with sess2 on g2 
    sess2.run(...) 

with g1.as_default(): 
    # do some more work with sess1 on g1 
    sess1.run(...) 

with g2.as_default(): 
    # do some more work with sess2 on g2 
    sess2.run(...) 

sess1.close() 
sess2.close() 

を正しいグラフですが、グラフを使って作業しているときはいつもデフォルトのグラフを設定するのがよいでしょうが、TFがどのようにグローバル変数を扱うかに慣れています。

+0

本当にあなたの答えをありがとう、私はモデル2のすべてのパラメータをコピーすることができます(実際には同じ構造にあります)。今私がやっていることは、モデル1を保存し、モデル2を復元し、モデル1を復元するのに時間がかかることです。 –

+0

私はそれを試していませんが、簡単なgoogle検索から簡単ですね。http:// stackoverflow。 com/questions/36438800/tensorflow-transfers-variables-across-graphs https://www.tensorflow.org/programmers_guide/variable_scope –

+0

これは便利かもしれません:http://stackoverflow.com/questions/41600321/distributedグラフとグラフの間の差分 - との間の差異 - 41601168#41601168 –

関連する問題