studylog/北の雲

chainer/python/nlp

chainerのサンプルコードを集めてみた(チュートリアルも追加)

(2016.1.21追記)最近あまりメンテナンスしてないので1.5以上のバージョンを使ってる人には役に立たなくなったかもしれません。

(2015.12.15追記)当初はサンプルコードにリンクを貼っただけの記事でしたがチュートリアル等も含めたものに加筆中。また古くなった情報は順次削除・更新してます。

バージョンごとの互換性など

こっちに移しました。1.5以上を強くお勧めします。
chainerのバージョンごとの違い(2016年1月19日現在) - studylog/北の雲

1.0 1.1 1.2 黎明期バージョン
1.3 1.4 CuPy導入
1.5 1.6 色々とパワーアップした現世代

概要・チュートリアル

概要を掴むのに適したスライド

1.5以上から始めるならこちら。
Chainerチュートリアル -v1.5向け- ViEW2015

内容は重複していますが1.4以前のバージョン時代のチュートリアル
Introduction to Chainer (LL Ring Recursive)(p17〜)
Chainerの使い方と自然言語処理への応用(〜P31)

チュートリアルドキュメントの和訳

公式ドキュメントは全部英語なので和訳してくれる人がいるとありがたいです。
1.6
Chainerチュートリアル の和訳【バージョン1.6】 - 俺とプログラミング
1.5
Chainerチュートリアル(ver. 1.5.1)を和訳 - オモンパカリスト

それ以前に和訳されたものはこちら 1.4以前を使っている人向け
(1.5を使う場合でも下のGPU編は今でも有用です)
基礎編
Chainerチュートリアルを和訳する必要があったからかいてみた(1) - sora_sakakiのブログ
GPU
Chainerチュートリアルを和訳する必要があったからかいてみた(2): GPU編 - sora_sakakiのブログ




以下サンプルですが、大半が1.0~1.3頃に書かれたものなので、最新版の1.5では全く動かないと思います。

基礎NN

まずはここから 手書き文字を分類する定番のMnistサンプル ただのNN

公式サンプル
https://github.com/pfnet/chainer/blob/master/examples/mnist/train_mnist.py

上記コードの詳細な解説(書かれたのが1.0の時なのでサンプルと食い違うところがあるかも)
NN全般のチュートリアルにもなってます 私は最初これで勉強しました
Python - 【機械学習】ディープラーニング フレームワークChainerを試しながら解説してみる。 - Qiita

以下応用系

DeepPose(人間のポーズ・姿勢分析)

mitmul/deeppose · GitHub

Deep Q-Network(DQN 強化学習 ゲームできるようになるやつ)

ugo-nama-kun/DQN-chainer
上記コードの解説
強化学習 - DQNの生い立ち + Deep Q-NetworkをChainerで書いた - Qiita

A Neural Algorithm of Artistic Style / chainer-gogh

mattya/chainer-gogh
apple2373/chainer_stylenet: A Neural Algori... - GitHub
どんなものかは以下参考
画風を変換するアルゴリズム | Preferred Research


以下少し古くなってきた情報

GPU環境構築に苦戦している人向けの超短いチュートリアル

EC2のGPUインスタンスにChainerを5行で入れて4行で動かす - 随所に主と作れば、立処皆真なり
(1.2以前の情報。1.3以降はpycudaが必要なくなったのでもう苦戦しないはず)