LoginSignup
1
0

More than 3 years have passed since last update.

TensorFlowインストール(NVIDIA GPU対応用)

Posted at

GPU対応版のTensorFlowのインストールでいろいろ躓いたので、とりあえずうまくいった方法をまとめておきます

実施環境、バージョン

OS : Ubuntu16.04
GPU : GeForce GTX 1660Ti
CUDA : 10.1(TensorFlow2.1.0が対応するCUDAに合わせた)
cuDNN : 7.6.5(CUDA10.1に合わせた)
TensorFlow : 2.1.0
(以下おまけ)
TensorRT : 6.0.1(CUDA10.1に合わせた)
NCCL : 2.7.3(CUDA10.1に合わせた)

  • python,pip等のインストールは他サイトを参考に実施ください
    なおtensorflowインストール時、pipやsetuptoolsのバージョンが古いと怒られるので以下でバージョンアップしておくとよい
    sudo pip3 install --upgrade pip -ignore-installed --user
    sudo pip3 install setuptools

インストール対象のTensorFlow確認

https://www.tensorflow.org/install/source
上記ページの「テスト済みビルド構成」のGPU欄にて、
対象バージョンに対応するCUDAの(cuDNNも)バージョンを確認
Screenshot from 2020-06-09 16-07-41.png

CUDA Toolkitのインストール

※もしすでにCUDAが入っている場合は一旦削除
sudo apt purge cuda*
sudo apt purge nvidia-cuda-*
sudo apt purge libcud* #cuDNNもここでアンインストールできるはず
sudo apt purge nccl* #NCCLインストールしてた場合

https://developer.nvidia.com/cuda-downloads
公式から対象となるバージョンのCUDAをダウンロード
(旧バージョンは「Legacy Release」からダウンロード)
対象のページを辿っていくとインストール手順が表示されるので
それに従ってインストールすればよい
(ここではTensorFlow2.1.0に対応するためCUDA10.1)
Screenshot from 2020-06-09 16-06-42.png

  • 完了後以下を.bashrcに記載
    export PATH="/usr/local/cuda-10.1/bin:$PATH"
    export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
    ・設定再読み込み
    source .bashrc

  • インストール後、以下のコマンドでNVIDIAドライバのバージョンと
    CUDAのバージョンを確認可能
    nvidia-smi
    nvcc -V

  • 軽く動作確認
    任意の場所にサンプルコードコピー
    cuda-install-samples-10.1.sh ./
    場所移動
    cd NVIDIA_CUDA-10.1_Samples
    サンプルをコンパイル
    make
    以下に移動
    cd 2_Graphics/volumeRender
    サンプル実行
    ./volumeRender
    以下が表示されればOK
    Screenshot from 2020-06-10 17-52-48.png

cuDNNのインストール

https://developer.nvidia.com/rdp/cudnn-download
公式に従ってインストールすればOK
※ダウンロードにはDEVELOPER登録が必要です
 アンケートは適当に回答すればOK
CUDAの対応バージョンのものをインストールする必要があるので注意
Screenshot from 2020-06-10 17-08-36.png

以下をそれぞれダウンロードしたら、この順にインストールする必要あり
cuDNN Runtime Library
cuDNN Developer Library
cuDNN Code Samples and User Guide #これは入れても入れなくてもどっちでもOK

  • インストール後チェック
    以下のコマンドを実行
    cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
    以下が表示されればOK
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"
  • 軽く動作確認(サンプルダウンロードした場合)
    任意の場所にサンプルをコピー(例はver7版の場合)
    cp -r /usr/src/cudnn_samples_v7/ ./
    以下に移動
    cd cudnn_samples_v7/mnistCUDNN
    サンプルをコンパイル
    make
    サンプル実行
    ./mnistCUDNN
    以下が表示されればOK
    Test passed!

TensorFlowのインストール

https://qiita.com/Orihasam/items/020d439d0aec2d90cd73
上記解説頂いているページに従ってコマンド入力すればOK...?
→なんかpipでscipyがuninstallできないみたいなエラーが出た

Cannot uninstall 'scipy'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

いろいろ調べたところ、結局以下のコマンドでインストールできた
TensorFlowのバージョン指定のところは自分のインストールしたいバージョンを指定
sudo pip3 install tensorflow-gpu==2.1.0 --ignore-installed --user

TensorFlowの動作確認

以下のpythonコードを実行してprint文が出るか確認
※なお以下のコードはtensorflow2.X以降で実行可能なコードです

tf_hello.py
import tensorflow as tf
testmsg = tf.constant('Hello, TensorFlow2 World!')
tf.print(testmsg)

実行後「Hello, TensorFlow2 World!」が表示されればOK

また以下のコマンドを実行して「device_type: "GPU"」があれば,tensorflowがGPUが認識できていることが確認できる.
python3 -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"

なんとかこれで準備完了

(おまけ)

TensorFlowのバージョン確認

python3 -c 'import tensorflow as tf; print(tf.__version__)'

TensorRTのインストール

https://developer.nvidia.com/nvidia-tensorrt-download
上記から対象バージョンのものをダウンロード
※CUDAの対応バージョンのものをインストールする必要があるので注意
Screenshot from 2020-06-10 18-19-11.png

https://docs.nvidia.com/deeplearning/tensorrt/archives/
それぞれのバージョンごとのリリースノートのページで対応CUDAバージョンは確認できます
(Compatibility(互換性)の項)
Screenshot from 2020-06-10 18-19-53.png

https://docs.nvidia.com/deeplearning/tensorrt/archives/tensorrt-601/tensorrt-install-guide/index.html#installing
インストールは公式のインストールガイドページの記載に従えばOK
(上記リンクは6.0.1のインストールガイド(Ubuntuは4.1項参照))

NCCLのインストール(機械学習でGPUによる並列化をしたい場合)

https://developer.nvidia.com/nccl/nccl-download
上記から対象バージョンのものをダウンロード
※CUDAの対応バージョンのものをインストールする必要があるので注意
Screenshot from 2020-06-10 18-35-07.png

https://docs.nvidia.com/deeplearning/nccl/archives/
それぞれのバージョンごとのリリースノートのページで対応CUDAバージョンは確認できます
(Compatibility(互換性)の項)
Screenshot from 2020-06-10 18-42-30.png

https://docs.nvidia.com/deeplearning/nccl/archives/nccl_273/install-guide/index.html
インストールは公式のインストールガイドページの記載に従えばOK
(上記リンクは2.7.3のインストールガイド(Ubuntuは3.1項参照))


以上、おまけでした

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0