LoginSignup
24
29

More than 5 years have passed since last update.

AWSのGPUインスタンスにTensorFlowとJupyterを入れる

Posted at

AWSのEC2のGPUインスタンスにTensorFlowを構築して、ついでにJupyterも使えるようにするまでの手順。
ローカルでJupyter触りながらGPUが使えるとすごく便利です。

環境

  • インスタンス: g2.2xlarge
  • OS: Ubuntu Server 14.04 LTS

手順

NVIDIA Driver のインストール

GPUインスタンスにssh接続する。

apt-getのアップデートとアップグレード
(重要。この手順飛ばして、ハマりました)

$ sudo apt-get update
$ sudo apt-get -y upgrade

gcc等のパッケージを入れる

$ sudo apt-get -y install build-essential linux-image-extra-virtual linux-headers-generic linux-source
$ sudo update-initramfs -u

ドライバの競合を避けるためにNouveauをブラックリストに追加

$ cat <<EOF | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off alias lbm-nouveau off
EOF
$ echo options nouveau modeset=0 | sudo tee -a

一旦、再起動

$ sudo reboot

再起動すると、ssh接続が切れるので、もう一度ssh接続する。

その後、NVIDIA Driverをダウンロード

$ wget http://us.download.nvidia.com/XFree86/Linux-x86_64/361.42/NVIDIA-Linux-x86_64-361.42.run

権限付与

$ chmod +x NVIDIA-Linux-x86_64-361.42.run

NVIDIA Driverのインストール実行

$ sudo ./NVIDIA-Linux-x86_64-361.42.run

Dockerのインストール

$ curl -s 'https://sks-keyservers.net/pks/lookup?op=get&search=0xee6d536cf7dc86e2d7d56f59a178ac6c6238f52e' | sudo apt-key add --import

$ sudo apt-get update && sudo apt-get install apt-transport-https

$ sudo apt-get install -y linux-image-extra-virtual

$ echo "deb https://packages.docker.com/1.10/apt/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list

$ sudo apt-get update && sudo apt-get install docker-engine

Dockerをインストールできたか確認

$ sudo docker info

NVIDIA Dockerをインストール

$ wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.0-rc/nvidia-docker_1.0.0.rc-1_amd64.deb
$ sudo dpkg -i /tmp/nvidia-docker_1.0.0.rc-1_amd64.deb && rm /tmp/nvidia-docker*.deb

NVIDIA Dockerの簡単な動作確認をおこなう

$ sudo nvidia-docker run --rm nvidia/cuda nvidia-smi

TensorFlow用のDockerインスタンスを立てる

$ sudo nvidia-docker run -it -p 8888:8888 -p 6006:6006 tensorflow/tensorflow:latest-gpu /bin/bash
  • Port 8888:Jupyter notebook用
  • Port 6006:Tensor board用

ここからはDocker内

# export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
# pushd /usr/lib/x86_64-linux-gnu
# ln -s libcudnn.so.4 libcudnn.so
# popd
# /run_jupyter.sh

/run_jupyter.sh実行した後に、ip:8888にブラウザから接続してJupyterの画面が表示されれば成功!

Docker内で各種pythonライブラリなどを簡単にインストールするには

Jupyter上の「New▼」→「Terminal」からインストールできます。
スクリーンショット 2016-06-13 23.13.59.png

ここでpandasやsklearnのインストール
スクリーンショット 2016-06-13 23.14.18.png

# pip install pandas
# pip install sklearn

参考サイト

NVIDIA Driverインストール

Dockerのインストール

24
29
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
24
29