深度学习大概有如下4个步骤:
(1)准备数据
(2)搭建模型
(3)迭代训练
(4)使用模型
准备数据阶段一般就是把与任务相关的数据收集起来,然后通过建立网络模型,经过一定的迭代训练让网络学习收集来的数据特征,形成一个可以用的模型,之后就是通过使用模型来解决现实中的问题。
假设有一组数据集,其中x和y的对应关系为y≈2x。
本例子就是让神经网络通过学习这些样本,并找到其中的规律,让神经网络能够总结出y≈2x这样的公式。
具体代码实现过程如下:
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
#定义生成loss可视化的函数
plotdata = {"batchsize":[],"loss":[]}
def moving_average(a,w =10):
if len(a) < w:
return a[:]
return [val if idx < w else sum(a[idx-w:idx])/w for idx, val in enumerate(a)]
#重置图
tf.reset_default_graph()
#生成模拟数据
train_X = np.linspace(-1,1,100)
train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0