2016-09-01 2 views
1

Я использую простой код учебник здесь https://www.oreilly.com/learning/hello-tensorflowTensorflow SummaryWriter потерял итераций

Вот моя версия:

import tensorflow as tf 

x = tf.constant(1.0, name='input') 
w = tf.Variable(0.8, name='weight') 
y = tf.mul(w, x, name='output') 
y_ = tf.constant(0.0, name='correct_value') 
loss = tf.pow(y - y_, 2, name='loss') 
train_step = tf.train.GradientDescentOptimizer(0.025).minimize(loss) 
summary_y = tf.scalar_summary('output', loss) 

sess = tf.Session() 
sess.run(tf.initialize_all_variables()) 

summary_writer = tf.train.SummaryWriter('outs') 
for i in range(1000): 
    summary_writer.add_summary(sess.run(summary_y), i) 
    sess.run(train_step) 

После, у меня есть только 914 из 1000 шагов в tensorboard. Вот осмотр:

tensorboard --inspect --logdir=outs 

====================================================================== 
Processing event files... (this can take a few minutes) 
====================================================================== 

Found event files in: 
outs 

These tags are in outs: 
audio - 
histograms - 
images - 
scalars 
    output 
====================================================================== 

Event statistics for outs: 
audio - 
graph - 
histograms - 
images - 
scalars 
    first_step   0 
    last_step   913 
    max_step    913 
    min_step    0 
    num_steps   914 
    outoforder_steps  [] 
sessionlog:checkpoint - 
sessionlog:start - 
sessionlog:stop - 
====================================================================== 

Если я открываю tensorboard, я вижу правильные участки для 914 шагов (от 0 до 913). Это происходит независимо от количества шагов. Если, например, я делаю 100 шагов, всего 93 сохраняются в сводке.

Я использую Fedora 23 (4.6.5-200.fc23.x86_64 GNU/Linux). Tensorflow является последняя новая установка в виртуальной окр

pip list | grep tensorflow 
tensorflow (0.10.0rc0) 

Любые идеи, где находятся последние итерации потеряли?

ответ

1

A tf.train.SummaryWriter краткое описание объекта буферов внутри, поэтому важно позвонить summary_writer.close() перед выходом. Вы также можете позвонить summary_writer.flush(), чтобы в журнале событий было записано последнее резюме. Следующая простая модификация вашей тренировочной петли должна работать:

summary_writer = tf.train.SummaryWriter('outs') 
for i in range(1000): 
    summary_writer.add_summary(sess.run(summary_y), i) 
    sess.run(train_step) 
summary_writer.close() 
Смежные вопросы