tensorboard问题
tensorboard不能好好显示出可视化界面真是令人头疼,一开始在Windows下运行了这段代码:
import tensorflow as tf
import numpy as np
#import matplotlib.pyplot as plt
def add_layer(inputs,in_size,out_size,activation_funtion = None):
with tf.name_scope('layer'):
with tf.name_scope('weightd'):
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_funtion is None:
outputs=Wx_plus_b
else:
outputs = activation_funtion(Wx_plus_b)
return outputs
x_data = np.linspace(-1,1,300)[:,np.newaxis]
noise =np.random.normal(0,0.05,x_data.shape).astype(np.float32)
y_data = np.square(x_data) - 0.5 + noise
#print("y_data:", y_data)
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)
#l1 = add_layer(xs, 1, 10, activation_function=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.1).minimize(loss)
init = tf.global_variables_initializer()
sess = tf.Session()
writer = tf.summary.FileWriter("logs/", sess.graph)
sess.run(init)
#plt.ion()
#fig = plt.figure()
#ax = fig.add_subplot(1,1,1)
#ax.scatter(x_data,y_data)
for i in range(1000):
sess.run (train_step,{xs:x_data,ys:y_data})
if i%50==0:
#print(i, sess.run(loss,{xs:x_data,ys:y_data}))
#try:
# ax.lines.remove(lines[0])
# plt.pause(0.1)
#
#except Exception:
# pass
prediction_value = sess.run(prediction, feed_dict = {xs:x_data})
#lines = ax.plot(x_data, prediction_value, 'r-', lw=5)
#ax.lines.remove(lines[0])
#plt.ioff()
#plt.show()
writer.close()
在命令行输入tensorboard –logdir logs,出来的结果是一个很复杂的网络结构
完全没有实现代码中分层的要求
然后再服务器上运行,结果显示服务器连接超时,tensorboard网页不能打开。
最后把在服务器上的log文件拿到window下,打开tensorboard,显示正常
所以,最后的解决方法是,在服务器下运行生成log文件,在window下打开log文件,over。