6.2_Function 类的功能扩展
6.2 Function类的功能扩展
接下来是Function类。在前面的步骤中,Function类实现了进行普通计算的正向传播(forward方法)的功能。在此基础上,我们新增以下两个功能。
计算导数的反向传播(backward方法)功能
调用forward方法时,保有被输入的Variable实例的功能
下面的代码实现了这两个功能。
steps/step06.py
class Function: def__call__(self,input): x $=$ input.data y $=$ self.forward(x) output $\equiv$ Variable(y) self.input $\equiv$ input #保存输入的变量 returnoutput defforward(self,x): raiseNotImplementedError() defbackward(self,gy): raise NotImplementedError()在上面的代码中,_call__方法将输入的input设置为实例变量。这样一来,当调用backward方法时,向函数输入的Variable实例就可以作为self.input使用。