差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 最新リビジョン 両方とも次のリビジョン | ||
memo [2017/10/18 02:19] hasegawa |
memo [2017/10/24 09:59] hasegawa |
||
---|---|---|---|
ライン 73: | ライン 73: | ||
CUDAのインストール | CUDAのインストール | ||
+ | |||
+ | ※Cuda toolkit 9 と CuDNN 7 では Tensorflow(2017/10/18のバージョン)が動かない。 | ||
https://developer.nvidia.com/cuda-toolkit | https://developer.nvidia.com/cuda-toolkit | ||
- | からOSなどを選択してcuda_9.0.176_384.81_linux.runをダウンロード(2017/10/12のバージョン) | + | からOSなどを選択してcuda_8.0.61_375.26_linux.runをダウンロード(2017/10/12のバージョン) |
- CTRL+ALT+F1を押してXを抜ける | - CTRL+ALT+F1を押してXを抜ける | ||
- CUI環境になるので、アカウントにloginする | - CUI環境になるので、アカウントにloginする | ||
- sudo init 3 を実行して非X環境にする(これをしないとXがファイルをロックして失敗する) | - sudo init 3 を実行して非X環境にする(これをしないとXがファイルをロックして失敗する) | ||
- | - cuda_9.0.176_384.81_linux.runをインストーラを実行 | + | - cuda_8.0.61_375.26_linux.run(インストーラ)を実行 |
``` | ``` | ||
cd Downloads | cd Downloads | ||
- | sudo sh ./cuda_9* | + | sudo sh ./cuda_8* |
``` | ``` | ||
ライン 107: | ライン 109: | ||
``` | ``` | ||
# CUDA | # CUDA | ||
- | export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} | + | export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} |
- | export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} | + | export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} |
export CUDA_HOME=/usr/local/cuda | export CUDA_HOME=/usr/local/cuda | ||
``` | ``` | ||
ライン 122: | ライン 124: | ||
``` | ``` | ||
## set PATH for CUDA | ## set PATH for CUDA | ||
- | PATH="/usr/local/cuda-9.0/bin${PATH:+:${PATH}}" | + | PATH="/usr/local/cuda-8.0/bin${PATH:+:${PATH}}" |
``` | ``` | ||
ライン 135: | ライン 137: | ||
``` | ``` | ||
## CUDA support | ## CUDA support | ||
- | /usr/local/cuda-9.0/lib64 | + | /usr/local/cuda-8.0/lib64 |
``` | ``` | ||
ライン 145: | ライン 147: | ||
https://developer.nvidia.com/rdp/cudnn-download | https://developer.nvidia.com/rdp/cudnn-download | ||
- | からcuDNN v7.0 Library for Linuxをダウンロードして適当な場所に展開し、中身を移動する。 | + | から |
+ | |||
+ | - cuDNN v6.0 Runtime Library for Ubuntu16.04 (Deb) | ||
+ | - cuDNN v6.0 Developer Library for Ubuntu16.04 (Deb) | ||
+ | - cuDNN v6.0 Code Samples and User Guide for Ubuntu16.04 (Deb) | ||
+ | をダウンロードして、以下のコマンドでインストールする。 | ||
``` | ``` | ||
- | sudo mv cuda/include/cudnn.h /usr/local/cuda/include | + | sudo dpkg -i libcudnn6_6.0*+cuda8.0_amd64.deb |
- | sudo mv cuda/lib64/libcudnn* /usr/local/cuda/lib64/ | + | sudo dpkg -i libcudnn6-dev_6.0*+cuda8.0_amd64.deb |
+ | sudo dpkg -i libcudnn6-doc_6.0*+cuda8.0_amd64.deb | ||
``` | ``` | ||
Python環境の構築 | Python環境の構築 | ||
- | pyenvを入れて、 | + | pyenvをGitHubのリポジトリをクローンして導入し、 |
``` | ``` | ||
+ | git clone https://github.com/yyuu/pyenv.git ~/.pyenv | ||
pyenv install --list | pyenv install --list | ||
``` | ``` | ||
- | 最新のAnacondaを入れる。2017/10/18現在は | + | |
+ | 最新のAnacondaを入れる。2017/10/18現在はanaconda3-5.0.0 | ||
``` | ``` | ||
pyenv install anaconda3-5.0.0 | pyenv install anaconda3-5.0.0 | ||
``` | ``` | ||
+ | |||
設定 | 設定 | ||
ライン 178: | ライン 190: | ||
Python 3.6.2 :: Anaconda, Inc.と出ればOK | Python 3.6.2 :: Anaconda, Inc.と出ればOK | ||
+ | Ubuntu 16.04 LTSではPython3.5.2までしか対応していないため、anaconda3-5.0.0(Pythonのバージョンは3.6)を単純に入れるだけではpython3.5-devを使うOpenCVのビルド時にPython3対応ができない。 | ||
+ | 詳しくはOpenCVのところを参照 | ||
- | Tensorflowのインストールは | ||
- | http://vild.hatenablog.com/entry/2017/02/24/174226 | ||
- | を参照 | ||
+ | Tensorflowのインストールは公式サイトのAnaconda使用の場合を参照 | ||
+ | |||
+ | https://www.tensorflow.org/install/install_linux#InstallingAnaconda | ||
+ | |||
+ | |||
+ | |||
+ | OpenCV | ||
+ | |||
+ | https://qiita.com/mix_dvd/items/4bf7f6e7fa19068ea1d4 | ||
+ | を参考にしたが、 | ||
+ | |||
+ | ``` | ||
+ | Built target opencv_cudafilters | ||
+ | Makefile:160: ターゲット 'all' のレシピで失敗しました | ||
+ | make: *** [all] エラー 2 | ||
+ | ``` | ||
+ | というエラーが出たので、 | ||
+ | http://answers.opencv.org/question/100907/not-able-to-install-opencv31-in-ubuntu1604-cuda-80/ | ||
+ | を参考に | ||
+ | cmakeの引数に*-D CUDA_ARCH_BIN=6.1*を追加(GTX-1080なので) | ||
+ | |||
+ | 今度は | ||
+ | ``` | ||
+ | Built target opencv_cvv | ||
+ | Makefile:160: ターゲット 'all' のレシピで失敗しました | ||
+ | make: *** [all] エラー 2 | ||
+ | ``` | ||
+ | |||
+ | ``` | ||
+ | cmake -D CMAKE_BUILD_TYPE=RELEASE \ | ||
+ | -D CUDA_ARCH_BIN=6.1 \ | ||
+ | -D CUDA_ARCH_PTX=6.1 \ | ||
+ | -D CUDA_FAST_MATH=1 \ | ||
+ | -D WITH_CUBLAS=ON \ | ||
+ | -D CMAKE_INSTALL_PREFIX=/usr/local \ | ||
+ | -D INSTALL_C_EXAMPLES=ON \ | ||
+ | -D BUILD_NEW_PYTHON_SUPPORT=ON \ | ||
+ | -D INSTALL_PYTHON_EXAMPLES=ON \ | ||
+ | -D WITH_TBB=ON \ | ||
+ | -D WITH_V4L=ON \ | ||
+ | -D WITH_QT=ON \ | ||
+ | -D WITH_OPENGL=ON ENABLE_FAST_MATH=1 \ | ||
+ | -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ | ||
+ | -D BUILD_EXAMPLES=ON .. | ||
+ | ``` | ||
+ | |||
+ | 面倒になったので、Anacondaで入れた。Python以外からも使えるのかなどはわからない。 | ||
+ | |||
+ | ``` | ||
+ | conda install -c menpo opencv3 | ||
+ | ``` | ||
+ | |||
+ | https://qiita.com/PonDad/items/cbef5dca04a1c1a201b0 | ||
+ | によると、自分でビルドしないと動画を取り扱えないとのこと。 | ||
+ | 諦めて同記事を参考に入れてみる。 | ||
+ | |||
+ | が、結局ダメで、 | ||
+ | http://mashup.hatenablog.com/entry/2017/05/16/200000 | ||
+ | にあるとおりにOpenCV3.2でEXTRA_MODULESなしでどうにか入った。 | ||
+ | |||
+ | と思ったらpython3からOpenCV3.2が使えず、Anacondaで入れた3.1しか見つからない。 | ||
+ | cmakeの結果を見てもUnavailable: python3となっている。 | ||
+ | |||
+ | |||
+ | 以下は基本的に | ||
+ | https://qiita.com/Kumapapa2012/items/7f0acaa504de6e87c7f0#conda-%E4%BD%9C%E6%A5%AD%E7%92%B0%E5%A2%83%E3%81%AE%E4%BD%9C%E6%88%90 | ||
+ | |||
+ | に従うが、LD_LIBRARY_PATHの設定は不要 | ||
+ | |||
+ | ``` | ||
+ | echo $LD_LIBRARY_PATH | ||
+ | ``` | ||
+ | 出力は | ||
+ | **/usr/local/cuda-8.0/lib64** | ||
+ | |||
+ | |||
+ | python352-MLという名前でPython3.5.2を含むAnaconda環境を作る | ||
+ | |||
+ | ``` | ||
+ | conda create -n python352-ML python=3.5.2 | ||
+ | source activate python352-ML | ||
+ | ``` | ||
+ | |||
+ | ``` | ||
+ | sudo apt install python3.5-dev | ||
+ | ``` | ||
+ | |||
+ | ``` | ||
+ | conda install -n python352-ML curl numpy cmake | ||
+ | ``` | ||
+ | |||
+ | ここからはconda環境から抜ける | ||
+ | |||
+ | ``` | ||
+ | source deactivate python352-ML | ||
+ | ``` | ||
+ | |||
+ | EXTRA_MODULESを入れるとコケるので、再び | ||
+ | http://mashup.hatenablog.com/entry/2017/05/16/200000 | ||
+ | にあるとおりにOpenCV3.2でEXTRA_MODULESなしで以下のcmakeオプションでうまく行った。 | ||
+ | |||
+ | ``` | ||
+ | cmake -D CMAKE_BUILD_TYPE=RELEASE \ | ||
+ | -D CMAKE_INSTALL_PREFIX=/usr/local \ | ||
+ | -D INSTALL_C_EXAMPLES=OFF \ | ||
+ | -D INSTALL_PYTHON_EXAMPLES=ON \ | ||
+ | -D WITH_CUDA=ON \ | ||
+ | -D ENABLE_FAST_MATH=1 \ | ||
+ | -D CUDA_FAST_MATH=1 \ | ||
+ | -D WITH_CUBLAS=1 .. | ||
+ | ``` | ||
+ | |||
+ | cmakeの結果のPython3関係は以下の通り | ||
+ | |||
+ | ``` | ||
+ | -- Python 3: | ||
+ | -- Interpreter: /home/haselab/.pyenv/versions/anaconda3-5.0.0/envs/python352-ML/bin/python3 (ver 3.5.2) | ||
+ | -- Libraries: /home/haselab/.pyenv/versions/anaconda3-5.0.0/envs/python352-ML/lib/libpython3.5m.so (ver 3.5.2) | ||
+ | -- numpy: /home/haselab/.local/lib/python3.5/site-packages/numpy/core/include (ver 1.13.3) | ||
+ | -- packages path: /home/haselab/.pyenv/versions/anaconda3-5.0.0/envs/python352-ML/lib/python3.5/site-packages | ||
+ | -- | ||
+ | -- Python (for build): /home/haselab/.pyenv/versions/anaconda3-5.0.0/envs/python352-ML/bin/python3 | ||
+ | ``` | ||
+ | |||
+ | ``` | ||
+ | make -j $(nproc) | ||
+ | sudo make install | ||
+ | ``` | ||
+ | |||
+ | 確認 | ||
+ | ``` | ||
+ | haselab@g-hasegawa09:~/opencv/opencv-3.2.0/build$ source activate python352-ML | ||
+ | (python352-ML) haselab@g-hasegawa09:~/opencv/opencv-3.2.0/build$ python3 | ||
+ | Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:53:06) | ||
+ | [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux | ||
+ | Type "help", "copyright", "credits" or "license" for more information. | ||
+ | >>> import cv2 | ||
+ | >>> cv2.__version__ | ||
+ | '3.2.0' | ||
+ | ``` | ||
+ | python352-ML環境を標準で使って欲しいので、.bashrcのPATHの部分を一部書き換える。 | ||
+ | |||
+ | ``` | ||
+ | #export PATH="$PYENV_ROOT/versions/anaconda3-5.0.0/bin:$PATH" | ||
+ | export PATH="$PYENV_ROOT/versions/anaconda3-5.0.0/envs/python352-ML/bin:$PATH" | ||
+ | ``` | ||
+ | |||
+ | Jupyter Notebookでpython352-ML環境を使用可能に設定する | ||
+ | |||
+ | |||
+ | 現状確認 | ||
+ | ``` | ||
+ | jupyter kernelspec list | ||
+ | ``` | ||
+ | |||
+ | 以下のカーネルが使用可能 | ||
+ | ``` | ||
+ | Available kernels: | ||
+ | python3 /home/haselab/.pyenv/versions/anaconda3-5.0.0/share/jupyter/kernels/python3 | ||
+ | ``` | ||
+ | |||
+ | python352-MLをアクティベイトして、追加 | ||
+ | ``` | ||
+ | source activate python352-ML | ||
+ | ipython kernel install --user --name=python352-ML --display-name=python352 | ||
+ | ``` | ||
+ | 実行結果 | ||
+ | ``` | ||
+ | Installed kernelspec python352-ML in /home/haselab/.local/share/jupyter/kernels/python352-ml | ||
+ | ``` | ||
Parallels Desktopに入れたUbuntu 16.04のaptで使用するサーバがアメリカだったので,日本のサーバに変更 | Parallels Desktopに入れたUbuntu 16.04のaptで使用するサーバがアメリカだったので,日本のサーバに変更 | ||
ライン 207: | ライン 388: | ||
``` | ``` | ||
- | sudo apt-key adv --keyserver-option http-proxy=http://username:password@proxy.address:8080 --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E084DAB9 | + | #sudo apt-key adv --keyserver-option http-proxy=http://username:password@proxy.address:8080 --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E084DAB9 |
+ | sudo -E apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E084DAB9 # こっちでいけた | ||
apt-key export E084DAB9 | sudo apt-key add - | apt-key export E084DAB9 | sudo apt-key add - | ||
``` | ``` | ||
ライン 235: | ライン 417: | ||
``` | ``` | ||
- | sudo R | + | sudo -E R |
``` | ``` | ||