

Chainerにオリジナルのoptimizerを追加するよい方法はないかという趣旨の質問です。

現在、フレームワークを使わず、通常のPythonライブラリとCupyだけで作ったCNNで、新しいoptimizerをテストしております。

現在のところ、MNISTおよびCifar-10でテストを行い、新しいoptimizerが、Adamなど主要なアルゴリズムより高速であることまでは確認しました。

最終的には、ResNetを構成し、ILSVRC2012のデータ等でテストしたいのですが、実績のあるフレームワークに当該アルゴリズムを載せてテストできないかと考えました。Cupyが非常に使いやすく安定だったため、Chainerで実現できないかといろいろ模索しています。

GitHubにあるChainerのoptimizerのコードを見ましたが、最適化アルゴリズムだけでなく、ライブラリとしての複雑なメカニズムがあるようで簡単ではなく、方法の見当がつきません。

Chainerにオリジナルのoptimizerを追加する方法について、何かヒントになる事例などがあれば教えていただけないでしょうか。よろしくお願いします。


CC BY-SA 4.0
2019-04-10T10:10:44.147
54067
2019-08-31T15:43:39.677
2019-04-11T01:41:06.683
29826
32864
question
chainer
オリジナルoptimizerの追加について


例から行くと、SGDが基本だと思います。<https://github.com/chainer/chainer/blob/v5.4.0/chainer/optimizers/sgd.py#L51>

それをまねして、動くないと言うことでしたら、自分が使っているコードを見せていただけませんか。

よろしくお願いします。


CC BY-SA 4.0
2019-05-16T08:14:26.057
55012
2019-05-16T08:14:26.057
34346
54067
answer