studylog/北の雲

chainer/python/nlp

Pylearn2チュートリアルではまったとこメモ(python3)

qiita.com

ここ参考にPylearn2のチュートリアルやってたんだけどはまったのでメモ。
元を書いた人はprintの仕様から多分py2系なんだと思う。

学習終わって最後のtest_result.pyのところのpickle.loadで懐かしのunicode decodeエラーが出る。20分悩む。

#最後のファイル読み込んでpikleに投げてるところを書き換える

with open('dae_mlp.pkl', 'rb') as f:
    model = pickle.load(f , encoding='iso-8859-1') #ここで文字コード指定
    test_data = mnist.MNIST(which_set='test')
    print('%(correct)d / %(total)d' % score(test_data, model))


Input space: VectorSpace(dim=784, dtype=float64)
Total input dimension: 784
h2
Input space: VectorSpace(dim=100, dtype=float64)
Total input dimension: 100
h3
Input space: VectorSpace(dim=100, dtype=float64)
Total input dimension: 100
y
Input space: VectorSpace(dim=100, dtype=float64)
Total input dimension: 100
9795 / 10000


無事に結果が出力された。万歳。手書き数字を97%の精度で認識できてる。

元の人はCore i7-3770で20分、自分は二世代前のi7-870(2.93Ghz 4コア8スレッド)で約30分。
やっぱり遅いんだねえ。
3770のUbuntuで試してみようかと思ったけどnumpyすら入れてなかったのでまた今度。

こんな感じでCPUはフルに使ってくれない。
f:id:kitanokumo:20150526140251p:plain
メモリは常時500MBぐらいだったので非力ノートでも試せそう。

追記

GPUを仕入れたので試してみた
750Ti + 3770 Ubuntu14.04
334秒で終了