Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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のインストール

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした