可视化
可视化会用用到 python 的 matplotlib
import matplotlib.pyplot as plt
我们使用 matplotlib 来可视化我们上面建立神经网络是如何进行学习拟合出最终结果的。
fig = plt.figure()
上面的代码创建图片框
先把真实数据在我们坐标系中显示出来
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.scatter(x_data,y_data)
plt.show()
这就是我们输入数据,所有点是有一定规律分布,也就是我们 y = x*x +0.5
图
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.scatter(x_data,y_data)
plt.ion()
plt.show()
for i in range(1000):
sess.run(train_step, feed_dict={xs: x_data, ys: y_data})
if i % 50 == 0:
# print(sess.run(loss,feed_dict={xs: x_data, ys: y_data}))
try:
ax.lines.remove(lines[0])
except Exception:
pass
outputLayer_value = sess.run(outputLayer, feed_dict={xs: x_data})
lines = ax.plot(x_data, outputLayer_value, 'r-', lw=5)
plt.pause(0.1)
然后通过绘制一条线表示我们预测的结果来表示我们每一次训练不断地拟合我最终结果,由于每一次我们需要将结果以线形式绘制到图上,这样图上就会有很多线,所以我们需要在绘制之前对之前绘制线进行清除,这里 try catch 结构是因为第一次没有绘制时候是没有线。然后使用 plt.pause(0.1) 来进行实现动画效果让我们观察到计算的结果不断接近真实数据分布
图
网友评论