verilog書く人

自称ASIC設計者です。どなたかkaggle一緒に出ましょう。

PreTrainingChainをscikit-learnのGridSearchに対応しました

以前作ったChainerのラッパーであるPreTrainingChain

chainerで気軽にスケールできる事前学習器付きニューラルネット生成 - verilog書く人

をscikit-learnの学習器ライクに使えるようにしたのとGridSearchに対応しました。

 

 

ChainClassfierをインスタンシエートして、

ChainClassfier.fit(x_train, y_train)で学習、ChainClassfier.predict(x_test)で予測、

ChainClassfier.score(x_test, y_test)でテストデータに対するスコアを出すようにしました。

以下がGridSearchによるパラメータチューニングの例です。

from sklearn import grid_search


pc = ChainClassfier([784,400,150,10])

#n_unitsは入力層、中間層1、中間層2、...、出力層の数
#batch_sizeはミニバッチの数
 result = grid_search.GridSearchCV(pc, {'n_units': ([784,400,150,10], [784,300,150,10]),
 'batch_size': (100,200,400)}, verbose=3, n_jobs=-1)

#グリッドサーチの実行
 result.fit(x_train, y_train)

#最も良かったパラメータの表示
 print(result.best_params_)

全体のスクリプトはこちら

 

pip install PreTrainingChainでインストールできます。お試しあれ。

わたしのパソコンは恐ろしく熱くなりました。話題のディープヒーティングです。

 

 

追記:

chainer 1.8.0に更新したら動かなくなったのでアップデートしました。