Tensorboard可视化(一)
1.搭建图纸
代码语言:javascript复制input层开始
# 将xs和ys包含进来,形成一个大的图层,图层名字叫做inputs
with tf.name_scope('inputs'):
# 为xs指定名称x_input
xs = tf.placeholder(tf.float32, [None, 1],name='x_input')
# 为ys指定名称y_input
ys = tf.placeholder(tf.float32, [None, 1],name='y_input')
代码语言:javascript复制layer层
# 定义添加神经层的函数
def add_layer(inputs,in_size,out_size,activation_function=None):
# 定义大框架名字为layer
with tf.name_scope('layes'):
# 框架里面的小部件Weights定义,同时也可以在weights中指定名称W(将会在Weights展开后显示)
with tf.name_scope('weights'):
Weights=tf.Variable(tf.random_uniform([in_size,out_size]),name='W')
# 框架里面的小部件biases定义
with tf.name_scope('biases'):
biases=tf.Variable(tf.zeros([1,out_size]) 0.1)
# 框架里面的小部件Wx_plus_b定义
with tf.name_scope('Wx_plus_b'):
Wx_plus_b=tf.matmul(inputs,Weights) biases
'''
activation_function 的话,可以暂时忽略。因为当选择
用 tensorflow 中的激励函数(activation function)的时候,
tensorflow会默认添加名称,这个可以在图形呈现后对比两个layer层进行查看
'''
if activation_function is None:
outputs=Wx_plus_b
else:
outputs=activation_function(Wx_plus_b)
return outputs
代码语言:javascript复制定义两层
# 定义隐藏层
l1=add_layer(xs,1,10,activation_function=tf.nn.relu)
# 定义输出层
prediction=add_layer(l1,10,1,activation_function=None)
代码语言:javascript复制绘制loss
# 计算预测值prediction与真实值的误差,对两者差的平方求和再取平均
with tf.name_scope('loss'):
loss=tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),
reduction_indices=[1]))
代码语言:javascript复制绘制train
# 机器学习提升准确率
with tf.name_scope('train'):
train_step=tf.train.GradientDescentOptimizer(0.1).minimize(loss) # 0.1表示学习效率
代码语言:javascript复制收集框架并存储至logs/目录
sess=tf.Session()
writer=tf.summary.FileWriter("logs/",sess.graph)
PyCharm Terminal直接进入项目根目录,运行
tensorboard --logdir=logs
,复制相应的链接至谷歌浏览器即可!
2.可视化问题
如果可视化不出来,浏览器输入localhost:你的dos下的端口号,进去了没有图片,请检查运行命令,
tensorboard --logdir=logs
这个运行命令中logs没有单引号!!!
3.学习文章
https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/4-1-tensorboard2/