零細OSSでセカンドコントリビューターを得るには
一行のPRを送ってくれる人も非常にありがたいのだが、コードを読み込めて理解して機能提案してくれる有力コントリビューターがいるとプロジェクトにも技術者としての自分にも非常にいい影響がある。
例えば、
■コード、ドキュメントの量が増える。
二人で書くんだからもちろん増える。
■コード、ドキュメントの質が上がる。
二人で見るとお互いが気づかないところを直すので、穴が少ないコードに仕上がる。お互いの技術力向上にも繋がる。
英語ネイティブが直してくれるとほんとに助かる。
■モチベーションが上がる
外人は基本的にテンションが高い。お前のこの仕事すげえなといわれるとやる気が上がる。楽しい。
といったところだ。
ただ、有名OSSならともかく、零細OSSにとってはコントリビューター確保は簡単なことではない。
続きを読む
chainerで作ったDeep Learningモデルのハイパーパラメータチューニングを自動化してみる
ディープラーニングは各層の種類、活性化層の種類、オプティマイザの種類、オプティマイザのハイパーパラメータ、などなどたくさんあり、
手で最適化していくのは大変です。
そんなとき、
1. グリッドサーチ:パラメーターの候補の組み合わせパターンを全て調べる。
2. ランダマイズドサーチ:パラメーターの候補の組み合わせパターンを全て調べる。
3. その他賢いアルゴリズム系のサーチ:ベイジアン最適化、Tree-structured Parzen Estimator Approach(hyperopt)
といった、ものが使えます。
グリッドサーチはハイパーパラメータが少ない機械学習アルゴリズムでは有効ですが、ディープラーニングではあまりおすすめしません。実際には2.か3.を選ぶことになります。
賢い系のアルゴリズムはより有望そうなパラメータを試そうとしてくれます。
今回はhyperoptを使った例を書いてみます。
エッセンスはGpyopt(ベイジアン最適化)などほかのライブラリでも変わりません。
続きを読む
エイプリルフールなので、chainerのGUIクライアントを作った。
GitHub - fukatani/ChainerWing: GUI deep learning IDE based on chainer.
※一応動きます。
こんな感じ。
ぽちぽちやってるとニューラルネットが組みあがります。chainerベースです。
めちゃ機能が少ないですが、今後充実する予定。たぶん。
続きを読む【PFIセミナーまとめ】chainerMNはなぜ速いのか、今後の提供は?
先日このグラフで世界を驚かせたchainerMNの中身の話をchainerMNによる分散学習 - YouTubeでやっています。
chainerは分散ディープラーニングフレームワークとして現在世界最速だそうです。
視聴したのでメモ。おもしろかったです。
語り手はchainerMNの作者秋葉さん(iwiwi)
Top coderで四位、数々のプログラミングコンテストで受賞歴を持つすごい人。
動画を見る限り今までchainerで作っていたモデルをchainerMNに移し替えるのも簡単そうです。
続きを読む