tensorboard学习——tf.train.SummaryWriter无此属性

在学习《Tensorflow 实战Google深度学习框架》时,第9章中有个程序如下;

import tensorflow as tf  
input1=tf.constant([1.0,2.0,3.0],name="input1")
input2=tf.Variable(tf.random_uniform([3]),name="input2")
output=tf.add_n([input1,input2],name="add")
writer=tf.train.SummaryWriter("/path/to/log",tf.get_default_graph())
writer.close()  

跳出如下错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-999765f0fdc7> in <module>()
----> 1 writer=tf.train.SummaryWriter("/path/to/log",tf.get_default_graph())

AttributeError: module 'tensorflow.python.training.training' has no attribute 'SummaryWriter'
出现问题:AttributeError: module 'tensorflow.python.training.training' has no attribute 'SummaryWriter'(0.12版本不会出现该问题)

这是因为在1.0版本中,tf.train.SummaryWriter已经改为tf.summary.FileWriter;因此,代码必须改为:

writer = tf.summary.FileWriter("C:\Users\chens\Documents\logs",tf.get_default_graph())


必须给logdir一个明确的路径定义

参考:http://blog.csdn.net/flying_sfeng/article/details/69943260


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 TensorFlow ,`tf.train.Saver` 是用于保存和恢复模型参数的类。它可以将模型的变量保存到一个二进制的 checkpoint 文件,也可以从 checkpoint 文件恢复模型的变量。 `tf.train.Saver` 的用法如下: ```python saver = tf.train.Saver(var_list=None, max_to_keep=5, keep_checkpoint_every_n_hours=10000.0, name=None, restore_sequentially=False, saver_def=None, builder=None, defer_build=False, allow_empty=False, sharded=False, write_version=tf.train.SaverDef.V2, pad_step_number=False, save_relative_paths=False, filename=None) ``` 其,`var_list` 参数指定需要保存或恢复的变量列表,如果不指定,则默认保存或恢复所有变量。`max_to_keep` 参数指定最多保存的 checkpoint 文件数量,`keep_checkpoint_every_n_hours` 参数指定保存 checkpoint 文件的时间间隔,`name` 参数指定 saver 的名称。 保存模型的变量: ```python import tensorflow as tf # 创建计算图 x = tf.placeholder(tf.float32, shape=[None, 784]) y = tf.placeholder(tf.float32, shape=[None, 10]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) logits = tf.matmul(x, W) + b loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y, logits=logits)) train_op = tf.train.GradientDescentOptimizer(0.5).minimize(loss) # 训练模型 with tf.Session() as sess: sess.run(tf.global_variables_initializer()) for i in range(1000): batch_xs, batch_ys = ... sess.run(train_op, feed_dict={x: batch_xs, y: batch_ys}) # 保存模型参数 saver = tf.train.Saver() saver.save(sess, './model.ckpt') ``` 在这个例子,我们创建了一个包含一个全连接层的简单神经网络,并使用梯度下降法训练模型。在训练完成后,我们调用 `tf.train.Saver` 类的 `save` 方法将模型的参数保存到文件 `'./model.ckpt'` 。 恢复模型的变量: ```python import tensorflow as tf # 创建计算图 x = tf.placeholder(tf.float32, shape=[None, 784]) y = tf.placeholder(tf.float32, shape=[None, 10]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) logits = tf.matmul(x, W) + b loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y, logits=logits)) train_op = tf.train.GradientDescentOptimizer(0.5).minimize(loss) # 恢复模型参数 saver = tf.train.Saver() with tf.Session() as sess: saver.restore(sess, './model.ckpt') # 使用模型进行预测 test_x, test_y = ... predictions = sess.run(logits, feed_dict={x: test_x}) ``` 在这个例子,我们创建了与之前相同的计算图,并使用 `tf.train.Saver` 类的 `restore` 方法从文件 `'./model.ckpt'` 恢复模型的参数。恢复参数后,我们可以使用模型进行预测。需要注意的是,恢复模型参数时,需要在调用 `tf.global_variables_initializer()` 之前调用 `saver.restore` 方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值