TensorBoard入门展示神经网络图信息,解决No graph definition files were found问题
使用 TensorFlow 构建神经网络,并将图信息保存在当前目录的 logs 文件目录下:
import tensorflow as tf
import numpy as np
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.matmul(inputs, Weights) + biases
if activation_function is None:
outputs = Wx_plus_b
else:
outputs = activation_function(Wx_plus_b)
return outputs
# 数据
x_data = np.linspace(-1, 1, 300)[:, np.newaxis]
noise = np.random.normal(0, 0.05, x_data.shape)
y_data = np.square(x_data) - 0.5 + noise
# 传入值
with tf.name_scope('inputs'):
xs = tf.placeholder(tf.float32, [None,1], name='x_input')
ys = tf.placeholder(tf.float32, [None,1], name='y_input')
l1 = add_layer(xs, 1, 10, activation_function=tf.nn.relu) # 隐藏层
prediction = add_layer(l1, 10, 1, activation_function=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.1).minimize(loss) # 优化器
sess = tf.Session()
writer = tf.summary.FileWriter('logs/', sess.graph) # 将图文件保存在logs文件下
sess.run(tf.initialize_all_variables())
使用 TensotBoard 打开图文件步骤:
1. 运行cmd窗口,输入如下命令:
E:
cd E:\DeepLearning
tensorboard --logdir=logs/
注意:
-
cd 至保存图文件的 logs 同级目录(不要进入 logs 文件),否则会发生找不到图文件的情况,如下
-
tensorboard --logdir=logs/ 命令中,logs/ 不要加引号,否则情况同上(Window系统)