私はテンソルフローのスーパーバイザ(https://www.tensorflow.org/programmers_guide/supervisor)を使用して、ネットワークのトレーニングと実行のために保存されたチェックポイントからモデルをロードしています。しかし、モデルの実行/評価(graph.pbtxtのタイムスタンプ、model.ckpt.dataファイルが更新され、新しいevents.outが作成されたとき)でもチェックポイントファイルが更新されることに気付きました。トレーニングと評価の両方の作業のためのTensorflow管理者?
これは、モデルの実行/評価にスーパーバイザを使用して訓練された状態もリセット/変更するのではないかと思いますか?訓練以外の目的でスーパーバイザを使用することをお勧めしますか?
トレイン -
sv = tf.train.Supervisor(logdir=mylogdir)
with sv.managed_session() as sess:
if not sv.should_stop():
train_step.run(feed_dict={x: xtrain, y_: ytrain, keep_prob: 0.5}, session= sess)
ラン/だけ評価します。私たちは、以下のモデルは、通常、ファイル名「model.ckpt-NUM」に保存されているモデル
sv = tf.train.Supervisor(logdir=mylogdir)
with sv.managed_session() as sess:
for yconv in sess.run(y_conv, feed_dict={x: xtest, keep_prob: 1.0}):
#use yconv to predict, evaluate etc.
感謝を示すAPIののように、評価結果を格納するための あなたはまた、別のディレクトリを選択することができます(「
logdir
」):EDIT。評価コードは、model.ckptファイルのタイムスタンプを変更します。それはなぜですか? – Achilles
私の最後の編集を参照してください、それは役に立ちますか? – yuval
ありがとうございます。私はトレーニングデータ(モデル*ファイルに保存されていると思います)を心配しています。評価 - 'sess.runのyconv(y_conv、feed_dict = {x:xtest、keep_prob:1.0}):' - これらのモデル*ファイル(タイムスタンプ以上)を更新するようですが、なぜ変更がトレーニングに影響するのでしょうか?何らかの方法でファイル内に格納されたデータ。理想的には、読み取り専用モードでアクセスするのが理想的です。別のディレクトリを使用することを提案してくれてありがとう、私は評価のために訓練されたモデルをコピーするいくつかの中間プロセスを試してみることもできます(しかし、それがなくてもうまくいくと思っています)。 – Achilles