スポンサーリンク

「実装ディープラーニング」を読んでみる(1)第4章「画像のクラス分類」

以下の本を衝動買いしてみたものの、まだ実装できていない。。。


実装 ディープラーニング Kindle版
藤田 一弥 (著), 高原 歩 (著), & 1 その他
2016/11/30
3200円

サポートサイト
http://www.ohmsha.co.jp/data/link/978-4-274-21999-3/

(環境)
Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
RAM 32.0 GB
GPU NVIDIA GeForce GTX 660 (4GB)
Windows 7 Pro
Anaconda 4.1.1(64-bit)
Python 3.5.2

(0)フォルダをこんな感じで作成しておく。

(1)いきなりであるが、上記の本は、Python 2.7 なのである。VIrtualBox上にUbuntuをインストールして、そこからCUDAできないかググってみたが、どうやら、ほぼ無理らしいのであきらめた。

Anacondaで、Python2の環境をインストール

私のjupyter notebookは、python3が入っている。

こちらに、python2を追加した。

(参考)

Python2, Python3 を切り替えて jupyter notebook を使う
2016-03-26 10:50:49
https://ameblo.jp/nekketsu-engineer/entry-12143280349.html

conda create -n python2 python=2.7 anaconda

ものすごーく時間がかかる。

activate python2

これで、jupyter notebookしたとき、New から、Python2を選べるようになった。

しかし、いつのまにか、python3環境がなくなってしまった!ので、

conda create -n python3 python=3.5 anaconda
activate python3

としておいた。

(1)画像データセットのダウンロード

http://www.vision.caltech.edu/Image_Datasets/Caltech101/

131MB. d:/py2/archives/ にダウンロードした。また、gzファイルを解凍できるように、

http://forest.watch.impress.co.jp/library/software/lhaplus/

からLhaplusをダウンロードしてインストール。ダウンロードしたファイルを、d:/py2/data/ フォルダに解凍すると、以下のような感じに画像がたくさん保存される。

(2)プログラムのダウンロード

サポートサイト
http://www.ohmsha.co.jp/data/link/978-4-274-21999-3/

から、projects.tar.gz (2.4MB)をダウンロードして、d:/py2/archivesにダウンロードして、d:/py2/ フォルダに解凍。d:/py2/projects/ フォルダが作成される。

(3)データの抽出と基本データセットの作成

Anaconda Promptで、

activate python2
cd d:/py2/projects/4-2

python ./migration_data_caltech101.py

data/ フォルダの下に、Caltech-101/ フォルダ以下が作成される。

(4)データ拡張と共通データセットの作成

p89に従って、Theano, Keras, その他をどんどんpip install していく。。。

deactivate してから、、、

conda install -c anaconda opencv

でエラー。

menpo/opencv で行ってみる。(やっぱりWindowsだと厳しいかなあ。。。)

Python 2.7 + OpenCV 3.0.0: installation on Windows
JUNE 16, 2015 | CHARMIE11
https://charmie11.wordpress.com/2015/06/16/python-2-7-opencv-3-0-0-installation-on-windows/

2017年1月8日 投稿者: MKTIA
AnacondaにOpenCV2をインストールする
https://blog.mktia.com/how-to-install-opencv-into-anaconda/

下の方のサイトに従ってやってみるが、大丈夫かなあ。

opencv-2.4.13.exe (267MB)をダウンロードした後、Downloads\opencv\build\python\2.7\x64 の中の、cv2.pyd を、d:/Anaconda3/envs/python2/Lib/site-packages/ に、コピー。

げっ、解凍すると2.7GBあるのですが、、、

本当にこれでいいのかな?

activate python2 してから、

numpy==1.10.0 がないと怒られるので、仕方なくnumpy==1.10.1を入れようとするも、なんかわけのわからないエラー。だめそう。あきらめるか。。。

(5)データ拡張

むむ、たしかに変換されているっぽい。

(6)学習の実行

今回、用いるコードは、py2/projects/4-3/9_layer_CNN.py だそうである。

activate python2
cd d:/py2/projects/4-3

python 9_Layer_CNN.py train

なんか、全然ダメ。

2014-03-02
pylearnの環境設定・実行
http://mikemoke.hatenablog.com/entry/2014/03/02/210439

Windows 7にMinGWをインストールする(mingw-get-inst使用)
http://symfoware.blog68.fc2.com/blog-entry-797.html

mingwをインストール
http://symfoware.blog68.fc2.com/blog-entry-797.html
mingw32-baseとmingw32-gcc-g++をインストール

python 9_Layer_CNN.py train

同じエラー。

http://stackoverflow.com/questions/36722975/theano-g-not-detected

conda install mingw

python 9_Layer_CNN.py train

だめだった。。。

conda install theano pygpu

python 9_Layer_CNN.py train

なんかここで止まってしまっている。メモリ使用量が増えていたが、GPUは全くLoadされていなかったので、一旦、Ctrl+Cで終了。

SET THEANO_FLAGS=mode=FAST_RUN,device=gpu0,floatX=float32

python 9_Layer_CNN.py train

CUDA is installed, but device gpu is not available (error: cuda unavailable) ガーン。

でも、なんかやっているみたい。。。

GPUは全く使っていない。。。

いや、これは、終わるのに10時間以上かかりそうなので、Ctrl+C で中断した。

でも、おそらく、動いたようではある。なぜ、CUDAが使えなかったのであろうか。。。とほほ。

これは、GPUが使えないと話にならなさそう。

(7)よくわからないが、CUDAを使いたいので迷走

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\0_Simple\simpleTemplates

ビルド

実行

むむ。CUDA動いているようであるが、、、

(8)Anaconda Promptで、

activate python2
cd d:/py2/projects/4-3

python 9_Layer_CNN.py train

nvcc fatal : Cannot find complier 'cl.exe’ in PATH

で、GPUは全く使用されず。。。

http://stackoverflow.com/questions/37377487/nvcc-fatal-cannot-find-compiler-cl-exe-in-path-although-visual-studio-12-0-i

http://kubotti.hatenablog.com/entry/2015/10/24/010715

PATHを設定。

activate python2
cd d:/py2/projects/4-3

python 9_Layer_CNN.py train

エラーが出ていないのに、GPUは全然動いていない、、、がっくし。。。

だめでした。がっくし。あきらめる。とりあえず、CPUでは、学習の途中まで動かすことができたことに喜んでおくことにする。

 

(9)上記にこだわらず、とりあえず、chainerでCUDA使えるかtry

Windows上にChainer v1.5+CUDA+cuDNNを一番簡単に入れれる方法
okuta
2016年05月13日に更新
http://qiita.com/okuta/items/f985b9da6de33a016a75

2016-05-20
WindowsでChainerをGPUを使って動かす
http://tadaoyamaoka.hatenablog.com/entry/2016/05/20/000854

MNISTサンプルの実行

git clone https://github.com/pfnet/chainer.git

cd chainer\examples\mnist

python train_mnist.py -g 0

まだGPUは0%、、、ダウンロードにものすごい時間が、、、

http://yann.lecun.com/exdb/mnist/

9,912,422 bytes って10MB、まあ、時間はややかかるか。。。

おお!ちゃんとGPU使われている!やっとCUDAを利用することができた!

どのくらい早いのかは分からない。。。