首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SummaryWriter没有将摘要写入文件

SummaryWriter没有将摘要写入文件
EN

Stack Overflow用户
提问于 2016-03-28 04:19:45
回答 1查看 3.3K关注 0票数 2

我试图使用tensorflow的SummaryWriter,但是它似乎不编写事件、图像或直方图来文件。不过,它确实会将图形写入文件(然后我可以在tensorboard中看到),至少表明tensorboard和SummaryWriter知道我的logdir在哪里。

下面是我的(简化)代码,被省略的代码块分解:

代码语言:javascript
复制
sess = tf.Session()
W_conv1 = tf.Variable(tf.truncated_normal([5,5,3, hidden1_size], stddev = 0.01), name = 'W_conv1')
b_conv1 = tf.Variable(tf.constant(0.01, shape=[hidden1_size]), name = 'b_conv1')

#to visualize the weights of the first layer...
sum2 = tf.image_summary('first layer weights', tf.transpose(W_conv1, perm = [3, 0, 1, 2]), max_images = 16)

h_conv1 = tf.nn.relu(b_conv1 + conv(x, W_conv1))

#to visualize how many dead relu's we have
sum1 = tf.scalar_summary('conv1', tf.nn.zero_fraction(h_conv1))

……多层

代码语言:javascript
复制
softmax = {}
cross_entropy = tf.Variable(0.0)
softmax[0] = tf.nn.softmax(fc_out)
cross_entropy += -tf.reduce_sum(y_*tf.log(softmax[0]))

……回收器

代码语言:javascript
复制
sum3 = tf.histogram_summary('cross entropy', cross_entropy)


lr = tf.Variable(tf.constant(1e-3))
lr_change = tf.assign(lr, tf.mul(.1, lr))

train_step = tf.train.AdamOptimizer(lr).minimize(cross_entropy)

merged=tf.merge_all_summaries()
writer = tf.train.SummaryWriter("./logs", sess.graph_def, flush_secs = 5)

sess.run(tf.initialize_all_variables())

……然后是训练代码:

代码语言:javascript
复制
for i in range(train_iter):
    batch_i = np.random.randint(0, len(X_t), [batch_size])
    X_batch = X_t[batch_i]
    y_batch = y_t[batch_i]

    summary_str, _, loss = sess.run([merged, train_step, cross_entropy], feed_dict = {x: X_batch, y_: y_batch}) 

    writer.add_summary(summary_str, i)
    writer.flush()
    saver.save(sess, 'RNN_model.ckpt', global_step = i)

然后,当我加载tensorboard并查看events选项卡时,我会看到以下错误:

没有发现标量摘要标签。 也许数据还没有加载,或者您需要向图中添加一些>tf.scalar_summary操作,并使用>tf.training.summary_io.SummaryWriter对它们进行序列化。

我添加了writer.flush()语句,因为在github上对两个堆栈交换进行搜索之后,这是一个常见的建议。问题没有解决。

在我的日志文件中,只编写graph_def,在培训期间没有编写其他文件。

我在mac 0SX el-capitan上使用tensorflow '0.7.1‘。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-08-17 18:31:52

我知道这是一篇老文章,但在运行TensorFlow 1.1.0的虚拟环境中,我也遇到了同样的情况。运行1.2.1版本,我似乎没有这个问题。您可以在命令行中执行以下命令,以确定正在运行的TensorFlow的哪个版本:

代码语言:javascript
复制
python -c "import tensorflow as tf; print(tf.__version__)"

希望它能帮到别人!

干杯,

-Maashu

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36255918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档