2015-11-13 19 views
7

CIFAR Tutorialの場合はTFが問題ありません。 train_dir(チェックポイントとモデルを含むディレクトリ)を知っている場所に保存するようにコードを変更しました。Tensorflowでのトレーニングの一時停止/再開方法

テンソルボードは、具体的にはtrain_dirで正常に動作しているようですが、Webインターフェイスを介して私に監督ツールを与えることができます。

は私が、私は(...私がより多くのGPUリソ​​ースが警告なしで実行するだろうと思われる)。..いくつかの警告とともに、その結​​果を受け、正しいディレクトリ・パスで、 cifar10_eval.pyを実行するために管理

2015年11月13日10:09:30.278728:精密1 @ = 0.101

Wのtensorflow /コア/ common_runtime/executor.cc:1027] 0x7fea7c0547c0計算ステータス:キャンセル:エンキュー操作がキャンセルされた [ノード:input_producer/input_producer_EnqueueMany = QueueEnqueueMany [Tcomponents = [DT_STRING]、timeout_ms = -1、_device = "/ j OB:ローカルホスト/レプリカ:0 /タスク:0/CPU:0" (input_producer、input_producer/RandomShuffle)]

のI /コア/カーネル/ fifo_queue.ccをtensorflow:154]スキップがエンキュー試みをキャンセル

W tensorflow/core/common_runtime/executor.cc:1027] 0x7fea2c0024e0計算ステータス:中止:RandomShuffleQueue '_2_shuffle_batch/random_shuffle_queue'が閉じられました。 [shuffle_batch/random_shuffle_queue_enqueue = QueueEnqueue [Tcomponents = [DT_FLOAT、DT_INT32]、timeout_ms = -1、_device = "/ job:localhost/replica:0/task:0/cpu:0"](シャッフルバッチ/ランダムシャッフルキュー、 0x7fea50003b80計算ステータス:中止:RandomShuffleQueue '_2_shuffle_batch/random_shuffle_queue'が閉じられています。 [shuffle_batch/random_shuffle_queue_enqueue = QueueEnqueue [Tcomponents = [DT_FLOAT、DT_INT32]、timeout_ms = -1、_device = "/ job:localhost/replica:0/task:0/cpu:0"](シャッフルバッチ/ランダムシャッフルキュー、 DIV/_23、キャスト)]]

...私の質問に私をもたらします

:どのように私は一時停止し、TFといくつかのトレーニングを再開することができますか?

答えて

12

TensorFlowは、グラフのような計算、ノード(Ops)とエッジ(変数aka状態)を使用し、VarsのためにSaverを提供します。

分散計算では、1つのマシン/プロセッサでグラフの一部を実行し、残りの部分を実行することができます。一方、状態(Vars)を保存して、次に作業を続けることができます。後であなたが

tf.train.Saver.restore(sess, save_path) 

が保存されたバールを復元するために使用することができます

saver.save(sess, 'my-model', global_step=0) ==> filename: 'my-model-0' 
... 
saver.save(sess, 'my-model', global_step=1000) ==> filename: 'my-model-1000' 

Saver Usage

+0

復元方法は、セーバーのインスタンスを必要とするため、このコマンドtf.train.Saver.restore(SESの、save_path)を使用すると、エラーが発生します。 – Kongsea

関連する問題