April 2020
Intermediate to advanced
552 pages
6h 13m
Japanese
ステップ47では、DeZeroの関数として、get_item関数の使い方だけを紹介しました。本付録では、その実装について説明します。早速ですが、GetItemクラスとget_item関数のコードを次に示します。
dezero/functions.py
classGetItem(Function):def__init__(self,slices):self.slices=slicesdefforward(self,x):y=x[self.slices]returnydefbackward(self,gy):x,=self.inputsf=GetItemGrad(self.slices,x.shape)returnf(gy)defget_item(x,slices):returnGetItem(slices)(x)
ここで、スライス操作を行う引数を初期化の際にslicesとして受け取ります。そして、forward(x)メソッドでは、単にx[self.slices]として要素の抜き出しを行います。
![]() |
|
DeZeroの |
また、スライス操作に対応する逆伝播の計算は、DeZeroの関数に存在しません。そのため、別途 ...
Read now
Unlock full access