При использовании Tensorflow я пытаюсь возобновить обучение CIFAR10 с помощью контрольного файла. Обращаясь к некоторым другим статьям, я попытался tf.train.Saver() восстановить без успеха. Может ли кто-то проливать свет на то, как действовать?Тензорный поток cifar10 возобновить тренировку из файла контрольной точки
Фрагмент кода из Tensorflow CIFAR10
def train():
# methods to build graph from the cifar10_train.py
global_step = tf.Variable(0, trainable=False)
images, labels = cifar10.distorted_inputs()
logits = cifar10.inference(images)
loss = cifar10.loss(logits, labels)
train_op = cifar10.train(loss, global_step)
saver = tf.train.Saver(tf.all_variables())
summary_op = tf.merge_all_summaries()
init = tf.initialize_all_variables()
sess = tf.Session(config=tf.ConfigProto(log_device_placement=FLAGS.log_device_placement))
sess.run(init)
print("FLAGS.checkpoint_dir is %s" % FLAGS.checkpoint_dir)
if FLAGS.checkpoint_dir is None:
# Start the queue runners.
tf.train.start_queue_runners(sess=sess)
summary_writer = tf.train.SummaryWriter(FLAGS.train_dir, sess.graph)
else:
# restoring from the checkpoint file
ckpt = tf.train.get_checkpoint_state(FLAGS.checkpoint_dir)
tf.train.Saver().restore(sess, ckpt.model_checkpoint_path)
# cur_step prints out well with the checkpointed variable value
cur_step = sess.run(global_step);
print("current step is %s" % cur_step)
for step in xrange(cur_step, FLAGS.max_steps):
start_time = time.time()
# **It stucks at this call **
_, loss_value = sess.run([train_op, loss])
# below same as original
благодарственное вы за ответ! Он решил проблему. Я думал, что queue_runner отвечает за создание входного изображения (путем искажения), и это не является необходимым шагом при восстановлении из файла контрольной точки. – emerson