差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
memo [2017/10/12 06:54]
hasegawa
memo [2017/10/24 06:13]
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を抜ける 
 +- CUI環境になるので、アカウントにloginする 
 +- sudo init 3 を実行して非X環境にする(これをしないとXがファイルをロックして失敗する) 
 +- cuda_8.0.61_375.26_linux.run(インストーラ)を実行 
 + 
 +``` 
 +cd Downloads 
 +sudo sh ./cuda_8* 
 +``` 
 + 
 +全部Yes、場所は初期設定のまま。終わったら再起動 
 + 
 +``` 
 +sudo reboot 
 +``` 
 + 
 +ログインしようとしても失敗してログイン画面に戻されるので、 
 +CTRL+ALT+F1を押してXを抜けCUI環境に行く。 
 +グラフィックボードのドライバを再インストールする。 
 + 
 +``` 
 +sudo apt-get install nvidia-384 --reinstall #​2017/​10/​12現在 
 +``` 
 + 
 +再起動して、無事にログインできるようになった。 
 + 
 +.bashrcの末尾に以下を記述してパスを通す 
 + 
 +``` 
 +# CUDA 
 +export PATH=/​usr/​local/​cuda-8.0/​bin${PATH:​+:​${PATH}} 
 +export LD_LIBRARY_PATH=/​usr/​local/​cuda-8.0/​lib64${LD_LIBRARY_PATH:​+:​${LD_LIBRARY_PATH}} 
 +export CUDA_HOME=/​usr/​local/​cuda 
 +``` 
 +他のユーザでも使えるようにパスを通す。 
 + 
 +環境変数パス 
 + 
 +``` 
 +sudo touch /​etc/​profile.d/​cuda.sh 
 +sudo vi /​etc/​profile.d/​cuda.sh 
 +``` 
 +中身は 
 +``` 
 +## set PATH for CUDA 
 +PATH="/​usr/​local/​cuda-8.0/​bin${PATH:​+:​${PATH}}"​ 
 +``` 
 + 
 +同様にライブラリの検索パス 
 +``` 
 +sudo touch /​etc/​ld.so.conf.d/​cuda.conf 
 +sudo vi /​etc/​ld.so.conf.d/​cuda.conf 
 +``` 
 + 
 +中身は 
 + 
 +``` 
 +## CUDA support 
 +/​usr/​local/​cuda-8.0/​lib64 
 +``` 
 + 
 +``` 
 +sudo ldconfig 
 +``` 
 + 
 +cuDNN 
 + 
 +https://​developer.nvidia.com/​rdp/​cudnn-download 
 +から 
 + 
 +- 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 dpkg -i libcudnn6_6.0*+cuda8.0_amd64.deb 
 +sudo dpkg -i libcudnn6-dev_6.0*+cuda8.0_amd64.deb 
 +sudo dpkg -i libcudnn6-doc_6.0*+cuda8.0_amd64.deb 
 +``` 
 + 
 +Python環境の構築 
 + 
 +pyenvをGitHubのリポジトリをクローンして導入し、 
 + 
 +``` 
 +git clone https://​github.com/​yyuu/​pyenv.git ~/.pyenv 
 +pyenv install --list 
 +``` 
 + 
 +最新のAnacondaを入れる。2017/​10/​18現在はanaconda3-5.0.0 
 + 
 +``` 
 +pyenv install anaconda3-5.0.0 
 +``` 
 + 
 +設定 
 + 
 +``` 
 +pyenv global anaconda3-5.0.0 
 +echo '​export PATH="​$PYENV_ROOT/​versions/​anaconda3-5.0.0/​bin:​$PATH"'​ >> ~/.bashrc 
 +source ~/.bashrc 
 +``` 
 +確認 
 + 
 +``` 
 +python --version 
 +``` 
 +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対応ができない。 
 + 
 + 
 + 
 +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 
 +```
  
-Xサーバを停止+確認
 ``` ```
-sudo service lightdm stop+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'​
 ``` ```
  
ライン 107: ライン 360:
  
 ``` ```
-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 -
 ``` ```
ライン 135: ライン 389:
  
 ``` ```
-sudo R+sudo -E R
 ``` ```
  
memo.txt · 最終更新: 2017/10/28 01:56 by hasegawa
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0

- Rental Orbit Space -