创建日志存放目录
from datetime import datetime
now = datetime.utcnow().strftime('%Y%m%d%H%M%S')
root_logdir = 'tf_logs'
logdir = '{}/ch03/run-{}'.format(root_logdir, now)
构建计算图
x = tf.placeholder(tf.float32, name='x')
y = tf.placeholder(tf.float32, name='y')
w1 = tf.Variable(tf.random_normal([1]), name='w1')
w0 = tf.Variable(tf.zeros([1]), name='w0')
y_hat = w0 + w1 * x
loss = tf.reduce_mean(tf.square(y_hat - y))
optimizer = tf.train.GradientDescentOptimizer(0.01) # 学习率设为 0.01
train = optimizer.minimize(loss)
设置 TensorBoard
# 给损失模型的输出添加scalar,用来观察loss的收敛曲线
loss_summary = tf.summary.scalar('loss', loss)
# 模型运行产生的所有数据保存到文件夹供 TensorBoard 使用
file_writer = tf.summary.FileWriter(logdir, tf.get_default_graph())
会话 Session
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
num_iter = 500
for i in range(num_iter):
# 训练时传入loss_summary
summary, _ = sess.run([loss_summary, train], {x: x_train, y: y_train})
# 收集每次训练产生的数据
file_writer.add_summary(summary, i)
if (i+1) % 20 == 0:
print('Iteration[{}/{}], loss: {:.6f}'.format(i+1,num_iter,sess.run(loss,{x:x_train,y:y_train})))
运行上述代码产生了一个日志文件:
想利用TensorBoard打开图像,先用cd转移到当前程序所在目录,然后输入
tensorboard --logdir tf_logs/
得到
使用CTRL+C复制网址,在浏览器打开网页http://localhost:6006/失败,尝试后发现CTRL+C会导致程序停止运行,故直接输入网址,即可成功进入。