神经网络入门(5)

作者: zidea | 来源:发表于2019-07-10 07:30 被阅读22次

可视化

可视化会用用到 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) 来进行实现动画效果让我们观察到计算的结果不断接近真实数据分布


相关文章

网友评论

    本文标题:神经网络入门(5)

    本文链接:https://www.haomeiwen.com/subject/eegbhctx.html