More than 1 year has passed since last update.

p2インスタンスにPython3を入れてpipでTensorFlowを入れるだけです。
Tesla K80で遊ぼう。

要件

TensorFlowは例によって

  • Python 2.7 and Python 3.3+
  • Cuda toolkit >= 7.0
  • cuDNN >= v3

compute capabilityもTesla K80は3.7あるので安心。
CUDA GPUs | NVIDIA Developer

導入方法

インスタンスを立てる

TensorFlowはUbuntuがお好きのようなのでUbuntu公式からAMIを探してきた。
Ubuntu Amazon EC2 AMI Finder

わたしはUbuntu16.10のhvm:ebs-ssdのやつにしてみた。

必要なものを入れる

定番

sudo apt-get update
sudo apt-get upgrade

Python3(3.5.2+が入った)

sudo apt-get install python3-pip python3-dev

CUDAは最新が8。wgetで持って来れるしコマンドはCUDA 8.0 Downloads | NVIDIA Developerのフローに従えばわかる。

sudo apt-get wget
wget https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
sudo apt-get update
rm cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
sudo apt-get install cuda

cuDNNはアカウントつくってcuDNN Download | NVIDIA DeveloperからcuDNN Library for Linuxを持ってきてアップしないといけない。

tar xvzf cudnn-8.0-linux-x64-v5.1-tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

cd /usr/local/cuda/lib64
sudo ln -s libcudart.so libcudart.so.7.5

最後の2行は ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory がでてしまったときの対策。CUDA 7.5 fails with pip install and docker (Ubuntu 14.04) · Issue #20 · tensorflow/tensorflowの下の方。

パスを通しておく。

export CUDA_HOME=/usr/local/cuda
export CUDA_ROOT=/usr/local/cuda
export PATH=$PATH:$CUDA_ROOT/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_ROOT/lib64

GPUありのほうのTensorFlow本体を入れておしまい。

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0rc0-cp35-cp35m-linux_x86_64.whl
pip3 install --ignore-installed --upgrade $TF_BINARY_URL

参考文献

Installing TensorFlow on an AWS EC2 P2 GPU Instance - ExpressionFlowExpressionFlow
ソースコードから入れるならこっち。