#はじめに
どうもubuntu18.04にCuda9.0を入れるのはまだ公式の対応はしていないらしい。
古いバージョンのものを使えばなんとか動かすことができたので、
その記録をする
細かいところは端折っているので、他の方が書かれている記事のおまけに読んでいただければ
#公式から以下のファイルをダウンロードする
・cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
・libcudnn7_7.2.1.38-1+cuda9.0_amd64.deb
・libcudnn7-dev_7.2.1.38-1+cuda9.0_amd64.deb
・libcudnn7-doc_7.2.1.38-1+cuda9.0_amd64.deb
ここで注意なのが、ダウンロードするリポジトリはローカルのものを使用する
ネットのリポジトリを使うとバージョン指定ができず、
Cuda9.2が無限ループしてしまった
#Nvidiaドライバーの準備
ubuntuでNvidiaのグラボドライバをインストールできる準備だけする
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
ここで先にインストールしてしまうと、Cudaをインストールする際にも別のドライバがインストールされてしまい、
バージョンがずれておかしなことになってしまう
そのためupdateで一旦止めておく
詳しい方法はこちらへ →→→ kubernetesで機械学習環境を作る!
#Cudaのインストール
インストールは公式に則りながら実行
$ dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
$ apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
$ apt-get update
$ apt-get install cuda-9-0
$ nvidia-smi
$ reboot
これでnvidia-smiが通ればok
#libcudnnのインストール
こちらも公式に則りインストール
$ dpkg -i libcudnn7_7.2.1.38-1+cuda9.0_amd64.deb
$ dpkg -i libcudnn7-dev_7.2.1.38-1+cuda9.0_amd64.deb
$ dpkg -i libcudnn7-doc_7.2.1.38-1+cuda9.0_amd64.deb
#tensorflowのインストール
pipを入れてtensorflow-gpuをインストール
$ apt install python3-pip
$ pip3 install tensorflow-gpu==1.9
#dockerのインストール
後々必要になるdockerのインストール
今はバージョンは特に気にしない
$ apt-get install apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ apt-get update
$ apt-get install docker-ce
$ docker -version
#Nvidia-dockerのインストール
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ apt-get update
$ apt-get install nvidia-docker2=2.0.3+docker18.06.1-1 nvidia-container-runtime=2.0.0+docker18.06.1-1
$ pkill -SIGHUP dockerd
$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
#終了
一通り必要なパッケージは入れたので、ubuntu上で下記コマンドでグラフィックカードの情報がでたら終了
$ python3
>>>from tensorflow.python.client import device_lib
>>>device_lib.list_local_devices()
#参考記事
How to install CUDA-9.0 on with cuDNN-7.1.4 on Ubuntu 18.04
ubuntu18.04でpipが使えない時
TensorFlow on DockerでGPUを使えるようにする方法