目次
機械学習とは
プログラミング無しで機械学習
機械学習プログラミング入門
初めてのKeras2.0
- KerasでFineTuning(作成中)
- pythonメモ(作成中)
以前のリビジョンの文書です
流れとしては、以下となります。
(環境)
Panasonic CF-RZ4
Windows 8.1 Pro
Anaconda 4.4.0
Python 3.5
Chainer 2.0
解説は以下のリンクへ
Windows8.1にChainer2.0をインストール
http://twosquirrel.mints.ne.jp/?p=19928
2017年10月現在、本家ChainerはVersion 3.0となっていますが、Chainer3.0の日本語の解説本は出版されていないので、以下の本がお勧めです。
Chainerv2による実践深層学習、新納浩幸
しかし、機械学習の理論の説明はさらっと流してあるので、理論でわからないところが出てきたら、やはり、
斎藤 康毅 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
を読み返してみるのが良いと思います。
さらに、以下の解説をがんばって読むと、実行できるようになりそうです。
Chainer: ビギナー向けチュートリアル Vol.1
mitmul
2017年05月18日に更新
https://qiita.com/mitmul/items/eccf4e0a84cb784ba84a
この本の図の通りなのですが、一つずつ解説させていただきたいと思います。
(0)#0 Chainerを使用するためのimport文 (1)#1 データの準備・設定 (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 結果の出力
「Trainerを利用する場合の全体図」 (参考:Chainer v2による実践深層学習 新納浩幸 p54)
(引用ここから) ————————————-
(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行) model = MyModel() optimizer = optimizers.Adam() optimizer.setup(model) (4)#4 学習(Trainerを利用する場合) iterator = iterators.SerialIterator(tdata, bsize) updater = training.StandardUpdater(iterator, optimizer) trainer = training.Trainer(updater, (ep, ‘epoch’)) trainer.extend(extensions.ProgressBar()) trainer.run() (5)#5 結果の出力
————————————- (引用ここまで)
リンク