0

分散モードで 4000 ステップ実行するモデルがあります。120 秒ごとに精度が計算されます (提供された例で行われているように)。ただし、最後のチェックポイント ファイルが見つからない場合があります。

エラー:

チェックポイント gcs://path-on-gcs/train/model.ckpt-1485 のファイルを一致させることができませんでした

チェックポイント ファイルはその場所にあります。2000 ステップのローカル実行は完全に実行されます。

last_checkpoint = tf.train.latest_checkpoint(train_dir(FLAGS.output_path))

チェックポイントはまだ保存プロセス中であり、ファイルは実際には書き込まれていないと思います。精度がそのように計算される前に待機を導入しようとしました。ただし、これは最初は機能しているように見えましたが、モデルは依然として同様の問題で失敗しました。

saver.save(session, sv.save_path, global_step)
time.sleep(2) #wait for gcs to be updated
4

1 に答える 1

0

あなたのコメントから、何が起こっているのか理解できると思います。私は間違っているかもしれません。

cloud_ml 分散サンプル https://github.com/GoogleCloudPlatform/cloudml-samples/blob/master/mnist/hptuning/trainer/task.py#L426 は、デフォルトで一時ファイルを使用します。その結果、ローカルで動作し/tmpます。トレーニングが完了すると、結果がコピーされますが、ローカル モデル ファイルへの参照が含まれているファイルgs://は修正されません。基本的に、これはバグです。checkpoint/tmp

これを回避するには、トレーニング プロセスを起動する--write_to_tmp 0か、ファイルを直接変更してtask.pyこのオプションを無効にする必要があります。その後、Tensorflow が直接処理さgs://れるため、結果のチェックポイントは一貫したものになります。少なくとも私にとってはうまくいきました。

私の仮定が正しいかどうかを確認する 1 つの方法は 、ローカル ファイル システムcheckpointから結果のファイルをコピーし、その内容を出力することです。 gs://gsutils

于 2016-10-24T05:37:01.253 に答える