CIFAR-10 TensorFlowチュートリアルで検証を実装する方法を混同しています。Tensorflow CIFAR-10チュートリアルでトレーニング/検証のデータを分割する
https://github.com/tensorflow/models/tree/master/tutorials/image/cifar10にあるCIFAR-10モデルを実行しています。
私はシャッフルするファイルと、トレーニングの各エポックのトレーニングデータと検証データに分割したいと思っているとしましょう(エポックでは、データセット全体を通して1ラウンド、トレーニングと検証)。
つまり、トレーニングを実行して、トレーニングが完了したら、検証を実行した後、データファイルを再シャッフルして新しいトレーニングと検証セットに分割します。
私はそれを行うための方法は、おそらく_LoggerHookオブジェクト関係と思われる。これは、すでにステップのトラックを保っているが、どのように私は、ファイルの正しいキューを提供しないので
class _LoggerHook(tf.train.SessionRunHook):
"""Logs loss and runtime."""
def begin(self):
self._step = -1
self._start_time = time.time()
def before_run(self, run_context):
self._step += 1
return tf.train.SessionRunArgs(loss) # Asks for loss value.
def after_run(self, run_context, run_values):
if self._step % FLAGS.log_frequency == 0:
current_time = time.time()
duration = current_time - self._start_time
self._start_time = current_time
loss_value = run_values.results
examples_per_sec = FLAGS.log_frequency * FLAGS.batch_size/duration
sec_per_batch = float(duration/FLAGS.log_frequency)
format_str = ('%s: step %d, loss = %.2f (%.1f examples/sec; %.3f '
'sec/batch)')
print(format_str % (datetime.now(), self._step, loss_value,
examples_per_sec, sec_per_batch))
を?
正しい方向のヘルプやポインターはすばらしいでしょう。