Tensorflow之tensorboard可视化
本文是在学习莫烦python–tensorflow过程中的记录,对代码框架和部分代码进行了解释。在打开tensorboard时因为是windows系统,和Mac有所不同,所以记录一下打开的方式。作者也是小白,若有不足,请大家指出问题,多多交流~
import tensorflow as tf
def add_layer(inputs,in_size,out_size,activation_function=None):
with tf.name_scope('layer'):
with tf.name_scope('Weights'):
Weights=tf.Variable(tf.random_normal([in_size,out_size]),name='W')
with tf.name_scope('biases'):
biases=tf.Variable(tf.zeros([1,out_size])+0.1,name='b')
with tf.name_scope('Wx_plus_b'):
Wx_plus_b=tf.add(tf.matmul(inputs,Weights),biases)
if activation_function==None:
outputs=Wx_plus_b
else:
outputs=activation_function(Wx_plus_b)
return outputs
with tf.name_scope('inputs'):
xs=tf.placeholder(tf.float32,[None,1],name='x_inputs')
ys=tf.placeholder(tf.float32,[None,1],name='y_inputs')
l1=add_layer(xs,1,10,tf.nn.relu)
prediction=add_layer(l1,10,1,None)
with tf.name_scope('loss'):
loss=tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),
reduction_indices=[1]))
with tf.name_scope('train'):
train_step=tf.train.GradientDescentOptimizer(0.07).minimize(loss)
sess=tf.Session()
writer=tf.summary.FileWriter("logs/",sess.graph)
init=tf.initialize_all_variables()
sess.run(init)
代码框架:
1.定义一个添加神经网络层的函数add_layer
2.定义输入xs,ys,此处用的是placeholder,用于不清楚具体输入值的情况,后期加数据可以用feed_dict{…}的形式
3.添加两层神经网络,一层隐藏层l1,一层输出层prediction
4.计算loss的均值
5.训练,使用梯度下降,0.07指的是学习率,后面minimize(loss)指的是目标
6.log是代码文件所在的目录。将tensorflow的图保存在这个目录下
7.初始化所有变量
代码解释
with tf.name_scope('layer'):
用于构造一个大的框架layer
with tf.name_scope('Weights'):
用于构造一个框架Weights
Weights=tf.Variable(tf.random_normal([in_size,out_size]),name='W')
Weights的定义,并将其名字设为‘W’
ps.其他代码较为基础,可参考视频莫烦Python-可视化好帮手1
查看tensorboard–graph
运行代码后会在代码所在的文件夹(我代码所在文件是Tensorflow)出现一个logs的文件夹,打开后会出现这个文件。
然后打开Anaconda prompt,先用activate tensorflow
激活tensorflow,然后用cd 一步一步定位到该位置(我这里是tensorflow),执行命令tensorboard --logdir logs
接下来,就会出现一个网址,复制它!(右键标记,选中后回车即可复制)
然后打开该网址即可看到Graph啦~~
双击即可看到内部结构