ゼロから作るDeep Learning ❸ ―フレームワーク編
- 作者:斎藤 康毅
- 発売日: 2020/04/20
- メディア: 単行本(ソフトカバー)
Rubyで作るDeZero、ステップ24まで進んだのだがかなり厳しい。Numpyを使う方法にだいぶ慣れてきたので、いっそのこと実装をすべてRubyとNumpyのコンビネーションに移すことにした。そのために最初から再実装をはじめ、おおよそ2時間でステップ24まで進んだ。
Numpyをサポートするためには、いくつかの配慮を行いながら実装を進める。
require 'numpy' np = Numpy
class Exp < Function def forward(x) np = Numpy y = np.exp(x) return y end ...
np
を使う前にインポートしておかなければならいようだ。常にnp = Numpy
が必要だ。
全ての章を見直して、Numpyの実装に対応させた。
begin x = Variable.new(np.array(3.0)) y = add(x, x) y.backward() puts(x.grad) x = Variable.new(np.array(3.0)) y = add(add(x, x),x) y.backward() puts(x.grad) end
2.0 3.0