8.1_现在的Variable类
8.1 现在的Variable类
再来看一下前面实现的Variable类的backward方法。
steps/step07.py
class Variable:
... #省略代码
def backward(self): f $=$ self creator iffisnot None: x $=$ f_input x.grad $=$ f_backward(self.grad) x.backup()我们需要注意的一点是backward方法调用了(朝着输入方向的)前一个变量的 backward 方法。由此,“backward 方法内调用 backward 方法,被调用的 backward 方法内再次调用 backward 方法”的处理会不断延续下去(直到碰到一个 self creator 函数为 None 的 Variable 变量)。这是一个递归结构。

本书为了节省篇幅,有时候会省略部分代码。省略的部分用“...”表示(这个省略号与出现在Python解释器的换行处的“...”含义不同)。