4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

TitanRTX+Ubuntu18.04+CUDA10.0+tensorflow2.0インストール手順

Last updated at Posted at 2019-11-18

新しいのを環境構築した手順のメモです。
バージョン上がる度に簡単になってきていてありがたいです。

環境

CPU: Intel core-i9 9920X
GPU: Nvidia TitanRTX

入れるもの

Ubuntu 18.04
CUDA 10.0
cuDNN 7.6.2 for CUDA10
tensorflow-gpu==2.0.0
Anaconda 2019.10 for Linux
scipy
pandas
matplotlib
seaborn
scikit-learn
xgboost
lightgbm
catboost
optuna
boruta ほか

本記事の内容

UbuntuのインストールからスタートしてCUDA使ってTensorflowが動くところまで機械学習環境を構築します

CUDAとtensorflowのバージョンについて

今回使うGPUはTuringアーキテクチャのTitanRTXでComputing Capabilityが7.5、対応するCUDAは10.0以降です
https://en.wikipedia.org/wiki/CUDA

PyPIに置いてあるビルド済みtensorflow-gpuは特定のバージョンのCUDA用にビルドされたもので、対応しているCUDAは以下のリンク先で確認できます
https://www.tensorflow.org/install/source

例えばUbuntu用にビルドされてPyPIに置いてあるtensorflow-gpu==1.13.1はCUDA10.0でしか使えません(自分でビルドすれば別のバージョンのCUDAでも使えます)。2019年11月現在リストにはtensorflow-gpu 2.0.0が載っていませんが、こちらもCUDA10.0用にビルドされています。

従ってtensorflowをビルドせずに使おうと思ったらTitanRTXではCUDA10.0 + tensorflow-gpu==1.13.1または2.0.0の組み合わせが使用可能です。

1. Ubuntu18.04をインストールする

ubuntu18.04LTSのisoイメージを取ってきます
https://www.ubuntulinux.jp/download

今回はライブUSBをrufusを使って作成しました
https://rufus.ie/
images.jpg
できました

2. ファイアーウォールを有効にする

ネットに繋ぐ前にファイアウォールを有効にしておきます。
入り側ポートをすべて閉じておいて必要があったら開けると良いでしょう。

terminal
$ sudo ufw default deny
$ sudo ufw enable

statusを確認しておきます。

terminal
$ sudo ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)

外からのアクセスは一律拒否するようにしました。sshとか使うときは個別にallowしましょう。

3. Ubuntuを更新する

最初に更新をかけておきましょう

terminal
sudo apt-get update
sudo apt-get upgrade

4. nvidia driverとCUDAをインストールする

tensorflow gpuサポートページのコードをそのまま使います
https://www.tensorflow.org/install/gpu

terminal
# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt-get update
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt-get update

# Install NVIDIA driver
sudo apt-get install --no-install-recommends nvidia-driver-418

ここまで来たら一度再起動します

terminal
sudo reboot

再起動したらnvidia driverが使えるようになっている筈です

terminal
$ nvidia-smi    
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.50       Driver Version: 430.50       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  TITAN RTX           Off  | 00000000:68:00.0  On |                  N/A |
|  0%   27C    P8    18W / 280W |    326MiB / 24217MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1300      G   /usr/lib/xorg/Xorg                           139MiB |
|    0      1490      G   /usr/bin/gnome-shell                         182MiB |
+-----------------------------------------------------------------------------+

ちゃんと入ってますね。続きをやっていきましょう。

terminal
# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-10-0 \
    libcudnn7=7.6.2.24-1+cuda10.0  \
    libcudnn7-dev=7.6.2.24-1+cuda10.0

# Install TensorRT. Requires that libcudnn7 is installed above.
sudo apt-get install -y --no-install-recommends libnvinfer5=5.1.5-1+cuda10.0 \
    libnvinfer-dev=5.1.5-1+cuda10.0

最後にPATHを通して完成です。適当なエディタで~/.bashrcを開いてPATHの指定を追記します。

terminal
gedit ~/.bashrc
~/.bashrdに追記
## CUDA and cuDNN paths
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"

terminalを一度閉じて再度開くとPATHが通っています

terminal
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

無事インストールできたようです

5. Anacondaでpython環境をインストール

公式サイトからlinux用python3系64bit版インストーラーをダウンロードします。
https://www.anaconda.com/distribution/

インストールしていきます。

terminal
$ cd ファイルを置いたフォルダパス
$ sh Anaconda3-2019.10-Linux-x86_64.sh

インストールが完了したらpython環境を作ります。tensorflowはpython3.7に非対応なのでpython 3.6指定にしています。環境名はtfにしてみます。

terminal
$ conda create -n tf python=3.6

環境をactivateします

terminal
$ conda activate tf

pipでtensorflowをインストールします

terminal
$ pip install tensorflow-gpu

pythonを立ち上げてtensorflowがCUDAとGPUを認識できるか確認します

terminal
$ python
>>> import tensorflow as tf
>>> tf.config.experimental.list_physical_devices('GPU') >= 1
True

TrueならOK、Falseなら上手くいってません。上手くいっていない場合はここまでの手順でエラーが出てインストールに失敗しているか、~/.bashrcに書いたPATHが通っていないか、tensorflow/CUDA/cuDNNのバージョンの組み合わせて正しくないかのどれかだと思います。

6. 機械学習系パッケージ+αをインストールする

最後によく使うパッケージを入れて完成です

terminal
(base) $ conda activate tf
(tf) $ pip install optuna tensorflow_addons numpy pandas xlrd xlwt openpyxl sklearn scipy catboost xgboost lightgbm matplotlib seaborn boruta pydot3 graphviz ipywidgets jupyter tqdm pyarrow psutil

ついでによく使うのもいれておきます

terminal
(tf) $ pip install pillow opencv-python OpenEXR 

できました
やったね

4
5
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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?