tensorboard可视化
代码
# -- encoding:utf-8 --
"""
Create on 19/5/11 16:51
"""
import tensorflow as tf
with tf.Graph().as_default():
# 一、图的构建
with tf.name_scope('n1'):
# a. 定义一个占位符。表示一个数字
input_x = tf.placeholder(dtype=tf.float32, shape=None, name='x')
# b. 定义一个变量,用于表示阶乘的值
sum_x = tf.Variable(dtype=tf.float32, initial_value=1.0, name='sum_x')
# 定义一个可视化的输出操作
tf.summary.scalar(name='tmp sum x', tensor=sum_x)
with tf.name_scope('n2'):
# /GPU:0表示在所有可运行的GPU上的而言,第一个GPU核
# c. 做一个乘法操作
tmp = sum_x * input_x
# 将tmp这个tensor中的值赋值为sum_x这个tensor
assign_op = tf.assign(ref=sum_x, value=tmp)
# d. 做一个阶乘的累加值乘以3的操作
with tf.control_dependencies(control_inputs=[assign_op]):
# 当前with语句块中的代码执行之前,一定会先触发control_inputs中给定的Tensor操作
y = sum_x * 3
# 定义一个可视化的输出操作
tf.summary.scalar('y', y)
# 二、图的执行
with tf.Session(config=tf.ConfigProto(log_device_placement=True,
allow_soft_placement=True)) as sess:
# 变量初始化
sess.run(tf.global_variables_initializer())
# 合并所有的summary可视化输出操作
summary = tf.summary.merge_all()
# 构建一个日志输出对象
writer = tf.summary.FileWriter(logdir='./models/09', graph=sess.graph)
# 阶乘值计算
n = 5
step = 1
for data in range(1, n + 1):
r, summary_ = sess.run([y, summary], feed_dict={input_x: data})
print(r)
# 将可视化输出的相关信息输出到磁盘
writer.add_summary(summary=summary_, global_step=step)
step += 1
# 关闭输出对象
writer.close()
可视化
可能遇到的问题
如果仍旧不能可视化,就ping一下,看能否ping通。
如果ping不通,就在命令后面加上127.0.0.1,如下图: