3 つの質問:
chainer の grad_outputs とは何ですか?
chainer の関数 F.transpose の一例ですが、この後方コードを説明するにはどうすればよいですか?
def Backward(self、inputs、grad_outputs): gy = grad_outputs[0] inv_axes = self.axes if self.axes: 軸 = tuple(ax % len(self.axes) for ax in self.axes) inv_axes = tuple(numpy .argsort(軸)) gx = gy.transpose(inv_axes) gx を返す,
自己定義関数を実装したいが、入力 [0] と入力 [1] の形状が異なるとします。差分チェーン ルールを使用して逆伝播するには、次のコードを に記述する必要があります
backward
。a, b = 入力 gy = grad_outputs[0] return a * gy, b * gy しかし、a と b は同じ形状ではなく
a * gy
、b * gy
おそらくエラーを報告しますか? 掛けるのに形が合わない?