2016年くらいにやった時のメモなので、今ならもっと簡単に出来るはず…
ドライバとかライブラリのバージョンも古いので注意
TitanXを積んだLITTLEGEAR i310をGPGPU用のマシンにするべく、
ubuntu14.04.4入れて、TensorflowとchainerをGPU動作させて、 Jupyter Notebookで開けるようにした時のメモ
#UbuntuのOSを入れる
-
ブート優先度を変える。 Securebootをother osにかえる
-
(真っ黒な画面で止まってしまうので)選択画面の Try Ubuntu without installing上で eを押す。 quiet splash を nomodeset に変更 F10でブート。(何もせずにそのまま10分待つだけで良いという話もある。試してないが)
http://qiita.com/kunihikot/items/588f39b4b11024ae0c41 http://askubuntu.com/questions/712575/ignoring-bgrt-invalid-status-0-expected-1 -
そして真っ暗になっても辛抱強く待つ
-
そうするとOSが起動するので インストールする
マウントして、PC名、ユーザー名、パスワードを登録する -
ブート優先度を戻すとHDDからの起動時にも紫色の画面で止まってしまったので、 F6キーを押して、ブート選択画面を表示。一番上でeキーを押す。 quiet splash を nomodeset に変更 F10でブート
-
Ubuntuが起動したら、 /etc/default/grubをデスクトップに移してgeditで書き換える
http://christina04.blog.fc2.com/blog-entry-162.html
vi使うときは
:set nocompatible
とうつ
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
GRUB_CMDLINE_LINUX=""
のように編集したgrubを
ls /home/ubuntu/Desktop
sudo su
cp /home/ubuntu/Desktop/grub .
で元の場所に移す
update-grub
を実行
参考:http://qiita.com/bohemian916/items/8c7f0c4b3d3ea0958559
#CUDAを入れて、2つのvirtualenv環境にそれぞれtensorflowとchainerを入れる
参考その1 https://www.tensorflow.org/versions/r0.8/get_started/os_setup.html
参考その2(ほぼこれの通り) http://qiita.com/naomi7325/items/789b256a2c61dbe8ed00
SSHの設定
sudo su
apt-get install ssh
vi /etc/ssh/sshd_config
PasswordAuthentication yes
#RSAAuthentication yes
#PubkeyAuthentication yes
に変える
service ssh restart
でssh ユーザー名@PC名 でつながるようになった(ユーザー名は小文字じゃないといけない)
参考:http://webkaru.net/linux/ssh-password-auth-prohibit/
###################################################################
FTPの設定
apt-get install vsftpd
vi /etc/vsftpd.conf
write_enable=YES
にする
service vsftpd restart
これでCyberduck(MacのFTPクライアントで)
PC名とユーザー名を入力して平文のパスワード入力で繋がる。
http://www.server-world.info/query?os=Ubuntu_14.04&p=ftp
###################################################################
pythonの設定
pyenvの導入 http://qiita.com/Kodaira_/items/feadfef9add468e3a85b
sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
exit
でユーザーを一般ユーザーに戻してから
cd /home/ユーザ名
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
sudo chown -R グループ名:ユーザー名 ~/.pyenv
vi ~/.profile
:set nocompatible
と打って
------------------------------------------------------------------------------------------------------------
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
------------------------------------------------------------------------------------------------------------
を末尾に入れる。SSH接続しなおす
pyenvを入れる
pyenv install --list
pyenv install 2.7.11
pyenv global 2.7.11
pyenv rehash
pyenv versions
cuda7.0を入れる
sudo dpkg -i cuda-repo-ubuntu1404_7.0-28_amd64.deb
sudo apt-get update
sudo apt-get install cuda-7-0
CuDNN6.5をいれる
tar xvf cudnn-6.5-linux-x64-v2.tar
sudo cp cudnn-6.5-linux-x64-v2/cudnn.h /usr/local/cuda/include
sudo cp cudnn-6.5-linux-x64-v2/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
#一旦再起動
reboot
ssh ユーザー名@PC名
#インストール
sudo apt-get install python-pip python-dev python-virtualenv
#コンテナ作成
virtualenv --system-site-packages ~/tensorflow-GPU
#virtualenvでつないだときにCUDAのPATHを貼る設定
vi ~/tensorflow-GPU/bin/activate
------------------------------------------------------------------------------------------------------------
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export CUDA_HOME=/usr/local/cuda
------------------------------------------------------------------------------------------------------------
を末尾に追記
git clone --recurse-submodules https://github.com/tensorflow/tensorflow
cd ~/tensorflow
chmod +x ./configure
sudo apt-get install swig
pip install numpy
cd ~/tensorflow
./configure
Pythonのパス /home/ユーザー名/.pyenv/versions/3.4.4/bin/python3.4 ではなくデフォルト
gpuサポート y
gccの場所 デフォルト
CUDA SDK version 7.0
CUDA toolkitの場所 /usr/local/cuda-7.0
Cudnn version 6.5
cuDNNの場所 デフォルト
#Tensorflow コンテナを用意
cd ~/tensorflow-GPU
source bin/activate
#コンテナにTensorflowを入れる
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
#cuda 7.5も必要らしいのでいれる
#deactivate
#sudo apt-get install cuda
#やっぱりいらなかったっぽい
#sudo apt-get remove cuda
#チュートリアルのコードでテスト
cd ~/tensorflow-GPU
source bin/activate
cd ~
mkdir workspace
cd workspace
mkdir mnisttest
cd ~/workspace/mnisttest
wget https://github.com/tensorflow/tensorflow/raw/r0.8/tensorflow/examples/tutorials/mnist/mnist.py
wget https://github.com/tensorflow/tensorflow/raw/r0.8/tensorflow/examples/tutorials/mnist/input_data.py
wget https://github.com/tensorflow/tensorflow/raw/r0.8/tensorflow/examples/tutorials/mnist/fully_connected_feed.py
python fully_connected_feed.py
deactivate
結果
Step 0: loss = 2.31 (0.570 sec)
Step 100: loss = 2.13 (0.001 sec)
Step 200: loss = 1.86 (0.001 sec)
Step 300: loss = 1.53 (0.001 sec)
Step 400: loss = 1.32 (0.001 sec)
Step 500: loss = 0.89 (0.001 sec)
Step 600: loss = 0.78 (0.001 sec)
Step 700: loss = 0.65 (0.001 sec)
Step 800: loss = 0.68 (0.001 sec)
Step 900: loss = 0.59 (0.001 sec)
Training Data Eval:
Num examples: 55000 Num correct: 47460 Precision @ 1: 0.8629
Validation Data Eval:
Num examples: 5000 Num correct: 4348 Precision @ 1: 0.8696
Test Data Eval:
Num examples: 10000 Num correct: 8697 Precision @ 1: 0.8697
Step 1000: loss = 0.65 (0.001 sec)
Step 1100: loss = 0.49 (0.027 sec)
Step 1200: loss = 0.44 (0.001 sec)
Step 1300: loss = 0.42 (0.001 sec)
Step 1400: loss = 0.31 (0.001 sec)
Step 1500: loss = 0.44 (0.001 sec)
Step 1600: loss = 0.61 (0.001 sec)
Step 1700: loss = 0.42 (0.001 sec)
Step 1800: loss = 0.29 (0.001 sec)
Step 1900: loss = 0.37 (0.001 sec)
#CPU環境を用意
virtualenv --system-site-packages ~/tensorflow-CPU
#してこちらでもテスト
cd ~/tensorflow-CPU
source bin/activate
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl
cd ~/workspace/mnisttest
python fully_connected_feed.py
deactivate
#chainer用の環境を用意
virtualenv --system-site-packages ~/chainer-GPU
cd ~/chainer-GPU
source bin/activate
#環境変数を定義して
vi ~/chainer-GPU/bin/activate
------------------------------------------------------------------------------------------------------------
export CUDA_PATH=/usr/local/cuda-7.0
export PATH=/usr/local/cuda-7.0/bin:$PATH
------------------------------------------------------------------------------------------------------------
を末尾に追記
deactivate
source ~/chainer-GPU/bin/activate
echo $CUDA_PATH
pip install chainer
export CUDA_PATH=/usr/local/cuda-7.0
CUDA_PATH=/usr/local/cuda-7.0 pip install chainer
#test
mkdir tmp
cd tmp
wget https://github.com/pfnet/chainer/raw/master/examples/mnist/data.py
wget https://github.com/pfnet/chainer/raw/master/examples/mnist/net.py
wget https://github.com/pfnet/chainer/raw/master/examples/mnist/train_mnist.py
python train_mnist.py
python train_mnist.py --gpu=0
deactivate
#Jupyterを入れる(それぞれのvirtual envで。)
pip install jupyter
#jupyter notebookで立ち上がるようになる
#コンフィグ
jupyter notebook --generate-config
vi ~/.jupyter/jupyter_notebook_config.py
----------------------------------------------------------------
c = get_config()
# all ip is ok
c.NotebookApp.ip = '*'
#c.NotebookApp.password = u'hogefoobar'
# dont start browser
c.NotebookApp.open_browser = False
# set port
c.NotebookApp.port = 8888
----------------------------------------------------------------
http://PC名:8888/ がJupiter NotebookのURLになる。
#起動tensorflow
deactivate
cd ~/tensorflow-GPU
source bin/activate
jupyter notebook
#起動chainer
deactivate
cd ~/chainer-GPU
source bin/activate
jupyter notebook
#chainer環境にpip installしたいときは
#http://mars:8888/terminals/1 にアクセスしてもできない
deactivate
cd ~/chainer-GPU
source bin/activate
pip install matplotlib
#tensorflow環境にpip installlしたいときは
deactivate
cd ~/tensorflow-GPU
source bin/activate
pip install matplotlib
#sudo apt-get install libpng
#sudo apt-get install libfreetype6-dev
#pending virutualenvで参照するpythonのバージョンがsystemになっている
#pyenv vritualenv {pyenvで作ったpythonのバージョン} {pyenv環境名} でやればいい
#http://qiita.com/Kodaira_/items/feadfef9add468e3a85b