この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
chainer2.0をwindowsにインストール [2017/10/19] adash333 [Trainerを利用しない場合のChainer全体図] |
chainer2.0をwindowsにインストール [2018/10/07] (現在) |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
===== Chainer2.0をWindowsにインストール ==== | ===== Chainer2.0をWindowsにインストール ==== | ||
流れとしては、以下となります。 | 流れとしては、以下となります。 | ||
- | - Anacondaのインストール | + | - [[http://twosquirrel.mints.ne.jp/dokuwiki/doku.php/windows%E3%81%A7python%E3%82%92%E5%A7%8B%E3%82%81%E3%82%8B%E6%96%B9%E6%B3%952017%E5%B9%B4%E7%89%88#3_windowsパソコンにanacondaをインストール_所要時間_約40分間|Anacondaのインストール]] |
- | - Anaconda Promptで、chainer2仮想環境の構築(conda create --name chainer2 python=3.5 anaconda) | + | - Anaconda Promptで、chainer2仮想環境の構築<code>conda create --name chainer2 python=3.5 anaconda</code> |
- | - activate chainer2 | + | - chianer2仮想環境の起動<code>activate chainer2</code> |
- | - pip install chainer==”2.0″ | + | - chainer2仮想環境にChainer 2.0をインストール<code>pip install chainer==”2.0″</code> |
- | - jupyter notebook | + | - Jupyter Notebookを起動<code>jupyter notebook</code> |
(環境)\\ | (環境)\\ | ||
ライン 23: | ライン 23: | ||
Chainerv2による実践深層学習、新納浩幸 | Chainerv2による実践深層学習、新納浩幸 | ||
+ | |||
+ | <html> | ||
+ | <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=risanorg-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4274221075&linkId=d9077a985f37c0635231a44e1b50ae95"></iframe> | ||
+ | </html> | ||
しかし、機械学習の理論の説明はさらっと流してあるので、理論でわからないところが出てきたら、やはり、 | しかし、機械学習の理論の説明はさらっと流してあるので、理論でわからないところが出てきたら、やはり、 | ||
ライン 28: | ライン 32: | ||
斎藤 康毅 | 斎藤 康毅 | ||
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 | ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 | ||
+ | |||
+ | <html> | ||
+ | <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=risanorg-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4873117585&linkId=9cfdc890aec2e2864ef5c1ff7394733b"></iframe> | ||
+ | </html> | ||
を読み返してみるのが良いと思います。 | を読み返してみるのが良いと思います。 | ||
- | さらに、以下の解説をがんばって読むと、実行できるようになりそうです。 | + | ===== 参考文献 ===== |
+ | 2017-03-22 | ||
+ | Chainer ver2.xをWindowsにインストールしてみた\\ | ||
+ | http://yaju3d.hatenablog.jp/entry/2017/03/22/022511 | ||
- | Chainer: ビギナー向けチュートリアル Vol.1\\ | + | ざっくりわかる機械学習 2016年12月\\ |
- | mitmul | + | https://www..jp/expert/articles/?column=201612-00001 |
- | 2017年05月18日に更新\\ | + | |
- | https://qiita.com/mitmul/items/eccf4e0a84cb784ba84a | + | |
+ | ===== インストールしたら読むサイト ===== | ||
+ | さらに、以下の解説をがんばって読むと、実行できるようになりそうです。 | ||
- | ===== Chainerプログラミングの全体図 ===== | + | Chainer documentation\\ |
- | ==== Trainerを利用しない場合のChainer全体図 ==== | + | Introduction to Chainer\\ |
+ | https://docs.chainer.org/en/stable/tutorial/basic.html | ||
+ | Chainerは日本の開発が開発している機械学習フレームワークなのに、公式ドキュメントは英語しかありません。 | ||
- | https://books.google.co.jp/books?id=n342DwAAQBAJ&pg=PA42&lpg=PA42&dq=chainer+%E5%85%A8%E4%BD%93%E5%9B%B3&source=bl&ots=1ybBZW8I4N&sig=X7mUk9h3Ib7P6uk7uKv5F90l-vM&hl=ja&sa=X&ved=0ahUKEwjQo5u1rfrWAhUFI5QKHSJaB5kQ6AEINTAC#v=onepage&q=chainer%20%E5%85%A8%E4%BD%93%E5%9B%B3&f=false | + | 有志の方が日本語訳を作って下さっており、 |
+ | 大変参考になります。というか、日本語訳がないと困ります、、、 | ||
- | この本の図の通りなのですが、一つずつ解説させていただきたいと思います。 | + | Chainer公式チュートリアル1/5(日本語訳)\\ |
+ | 2016/06/23 2017/07/03\\ | ||
+ | http://robotics4society.com/2016/06/23/chainer-tutorial1/ | ||
+ | なお、公式チュートリアルを読む際には、公式Githubのtrain_mnist.py(Versionに応じたもの)を見ながらが分かりやすいです。 | ||
- | <code> | + | https://github.com/chainer/chainer/tree/v2.0.0/examples/mnist |
- | (0)#0 Chainerを使用するためのimport文 | + | Chainer: ビギナー向けチュートリアル Vol.1\\ |
- | + | mitmul | |
- | (1)#1 データの準備・設定 | + | 2017年05月18日に更新\\ |
- | + | https://qiita.com/mitmul/items/eccf4e0a84cb784ba84a | |
- | (2)#2 モデルの記述 | + | |
- | class MyModel(Chain): | + | |
- | def __init__(self): | + | |
- | super(MyModel,self).__init__( | + | |
- | # パラメータを含む関数の宣言 | + | |
- | ) | + | |
- | + | ||
- | def __call__(self, ...): | + | |
- | # 損失関数 | + | |
- | + | ||
- | def fwd(self, x): | + | |
- | # 順伝播? ここにもモデルを記載、予測するときにこの関数を用いる | + | |
- | + | ||
- | (3)#3 モデルと最適化アルゴリズムの設定(ほぼお約束の3行) | + | |
- | model = MyModel() | + | |
- | optimizer = optimizers.Adam() | + | |
- | optimizer.setup(model) | + | |
- | + | ||
- | (4)#4 学習(Trainerを利用しない場合) | + | |
- | for epoch in range(繰り返し回数) | + | |
- | データの加工 | + | |
- | model.cleargrads() #勾配初期化 | + | |
- | loss = model(...) #誤差計算 | + | |
- | loss.backward #勾配計算 | + | |
- | optimizer.update #パラメータ更新 | + | |
- | + | ||
- | (5)#5 結果の出力 | + | |
- | </code> | + | |
- | ==== Trainerを利用する場合のChainer全体図 ==== | + | |
- | + | ||
- | + | ||
- | 「Trainerを利用する場合の全体図」 | + | |
- | (参考:Chainer v2による実践深層学習 新納浩幸 p54) | + | |
- | + | ||
- | (引用ここから) | + | |
- | ————————————- | + | |
- | + | ||
- | <code> | + | |
- | + | ||
- | (0)#0 Chainerを使用するためのimport文 | + | |
- | + | ||
- | (1)#1 tuple_datasetによるデータの準備・設定 | + | |
- | + | ||
- | (2)#2 モデルの記述 | + | |
- | class MyModel(Chain): | + | |
- | def __init__(self): | + | |
- | super(MyModel, self).__init__( | + | |
- | # パラメータを含む関数の宣言 | + | |
- | ) | + | |
- | def __call__(self, x,t): | + | |
- | # 損失関数 | + | |
- | def fwd(self, x): | + | |
- | # 順伝播? ここにもモデルを記載、予測するときにこの関数を用いる | + | |
- | (3)#3 モデルと最適化アルゴリズムの設定(ほぼお約束の3行) | + | こちらの記事はビギナー向けと書いてありますが、『ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 』を5回くらい読んで、機械学習の理論についてある程度理解してからでないと、何をやっているのかさっぱりだと思います。 |
- | model = MyModel() | + | |
- | optimizer = optimizers.Adam() | + | |
- | optimizer.setup(model) | + | |
- | (4)#4 学習(Trainerを利用する場合) | + | <html> |
- | iterator = iterators.SerialIterator(tdata, bsize) | + | <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=twosquirrel-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=as_ss_li_til&asins=4873117585&linkId=13a7db2c19cc5f40d6ab48906de8abd1"></iframe> |
- | updater = training.StandardUpdater(iterator, optimizer) | + | </html> |
- | trainer = training.Trainer(updater, (ep, ‘epoch’)) | + | |
- | trainer.extend(extensions.ProgressBar()) | + | |
- | trainer.run() | ||
- | (5)#5 結果の出力 | + | ちなみに、本気で機械学習プログラミングを実行するためには、コンピュータのGPUの火力が必須です。Chainerとさくらインターネットが提携していて、『高火力コンピューティング』(1時間単位で課金)というものがあり、Chainerの導入方法もマニュアルがあるそうです。 |
- | </code> | + | |
- | ————————————- | ||
- | (引用ここまで) | ||
===== リンク ===== | ===== リンク ===== | ||
- | リンク | + | 次 [[Chainer2プログラミングの全体図]] |
+ | 前 (無し) |