6.1_Variable类的功能扩展

6.1 Variable 类的功能扩展

下面实现支持反向传播的Variable类。为此,我们要扩展Variable类,除普通值(data)之外,增加与之对应的导数值(grad)。阴影部分是新增加的代码。

steps/step06.py
class Variable: def__init__(self,data): self.data  $=$  data self.grad  $=$  None

上面的代码在类中增加了一个新的实例变量grad。实例变量data和grad都被设置为NumPy的多维数组(ndarray)。另外,grad被初始化为None,我们要在通过反向传播实际计算导数时将其设置为求出的值。

梯度(gradient)是对包含多个变量的向量和矩阵等求导的导数。因此Variable类中增加了一个名为grad的变量,grad是gradient的缩写。