Deep Learningの環境構築(Ubuntu14.04+GTX 950M+CUDA+cuDNN)
これから過酷な戦いが始まる…
ノートパソコンにDeep Learningの環境をつくってみる.
PC環境
目標
Nvidia Driver
悪名高き?ドライバnouveau
nouveauをブラックリストに入れないとNvidiaのドライバが正しくインストールできない可能性がある
参考: UbuntuにCUDAを入れようとしたらハマった - Qiita
Nvidia Driverのインストール
sudo ./NVIDIA-Linux-x86_64-367.44.run --no-opengl-files
参考: NVIDIAドライバダウンロード Ubuntu14.04にNVIDIAドライバーをインストールしたらGUIログインできなくなったときの話 - Qiita https://devtalk.nvidia.com/default/topic/878117/-solved-titan-x-for-cuda-7-5-login-loop-error-ubuntu-14-04-/
nvidia-smiについて
GPUの設定等が見れる
参考:nvidia-smiコマンドの詳細ついて - Qiita nvidia-smi: Control Your GPUs | Microway
CUDA
CUDA対応GPU
CUDAのドライバ
CUDA Toolkit Archive | NVIDIA Developer
CUDAのインストール方法
- CUDA driverのrunファイルをダウンロード
- 以下の参考の方法でインストール
sudo ./cuda_7.5.18_linux.run --silent --no-opengl-libs --toolkit
参考: Ubuntu14.04にNVIDIAドライバーをインストールしたらGUIログインできなくなったときの話 - Qiita https://devtalk.nvidia.com/default/topic/878117/-solved-titan-x-for-cuda-7-5-login-loop-error-ubuntu-14-04-/
CUDA環境変数設定
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_ PATH' >> ~/.bashrc echo 'export CUDA_PATH=/usr/local/cuda' >> ~/.bashrc source ~/.bashrc
CUDAのバージョン確認方法
nvcc -V
Tips1: wgetとは
wget (URL)
URLはリンクを右クリックしてコピーしたもの
参考:wget コマンド | コマンドの使い方(Linux) | hydroculのメモ NVIDIA Driverおよび CUDA のインストール - Qiita
Tips2: PPAとは
参考:Proprietary GPU Drivers : “Graphics Drivers” team UbuntuのPPAて何? [Linuxの使い方] All About Personal Package Archives : Ubuntu
CUDAインストール参考資料
http://developer.download.nvidia.com/compute/cuda/7_0/Prod/doc/CUDA_Getting_Started_Linux.pdf
Installation Guide Linux :: CUDA Toolkit Documentation
UbuntuにNvidia GPUのDriver + CUDAをInstallする(GTX1080対応版) - Qiita
Pascal世代GPUでのUbuntu14.04へのCUDAインストール - はぐれ大学院生つれづれ
NVIDIA Driverおよび CUDA のインストール - Qiita
cuDNN
cuDNNのダウンロード
ダウンロードするには登録が必要
https://developer.nvidia.com/rdp/cudnn-download
ファイルをコピー
tar xvfz cudnn-<version>.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/* /usr/local/cuda/lib64
Chainer
Chainerのインストール方法
pip install chainer
うまく行かない時は
Releases · chainer/chainer · GitHub
から落としてきて
python setup.py install
アップグレードの方法
pip install -U chainer
ChainerでGPUを使う方法
- Variableオブジェクトをcupyから作る
- モデル設定後以下の2つを追加
xp = cuda.cupy
cuda.get_device(0).use() model.to_gpu()
Chainerのサンプルダウンロード
$ git clone [https://github.com/pfnet/chainer:title]
GPUのパフォーマンス確認
上記サンプルの実行
CPU only (core i7)
$ time python train_mnist.py
real 16m27.166s
user 16m26.425s
sys 0m0.168s
$ time python train_mnist.py -g 0
real 3m12.369s
user 2m50.749s
sys 0m5.305s
GPUを使用すると5倍くらいの速度が出る
chainerのバージョン確認方法
chainerの参考資料
Chainer: A flexible framework for neural networks
Ohmsha 書籍連動/ダウンロードサービス『Chainerによる実践深層学習』 これのiris0.py , iris1.py , iris3.py が概要をつかむのに良いかも。
DeepLearningライブラリのChainerがすごい、らしい - cvl-robot's diary
Qiita_Contents/chainer-MNIST_forPubs.ipynb at master · matsuken92/Qiita_Contents · GitHub
Chainerで3層パーセプトロンの誤差逆伝播を実装してみた - TadaoYamaokaの日記
DeepLearning系ライブラリ、Kerasがあまりにも便利だったので使い方メモ - プロクラシスト
chainerで点が円に内包されているか判定してみた ~~入門~~ - gasin’s blog
Chainerでニューラルネットワーク及び畳み込みニューラルネットワークを実装してみた – データ分析エンジニアが気まぐれに更新するブログ
Deep Learningを使っていろいろ試してみたい♪