Tensorboard可视化(一)
- 2019 年 10 月 6 日
- 筆記
Tensorboard可视化(一)
1.搭建图纸
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')
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
定义两层
# 定义隐藏层 l1=add_layer(xs,1,10,activation_function=tf.nn.relu) # 定义输出层 prediction=add_layer(l1,10,1,activation_function=None)
绘制loss
# 计算预测值prediction与真实值的误差,对两者差的平方求和再取平均 with tf.name_scope('loss'): loss=tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction), reduction_indices=[1]))
绘制train
# 机器学习提升准确率 with tf.name_scope('train'): train_step=tf.train.GradientDescentOptimizer(0.1).minimize(loss) # 0.1表示学习效率
收集框架并存储至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/