LoginSignup
8
4

More than 5 years have passed since last update.

AzureのNシリーズでChainer、Tensorflow、CNTK、DIGITSのGPU環境を作る

Last updated at Posted at 2017-01-05

AzureのNCインスタンスでChainer、Tensorflow、CNTK、DIGITSのGPU環境を作る

AzureのNCインスタンス上にChainer、Tensorflow、CNTK、DIGITSの環境を作った時の手順をまとめます。

VM作成

Azureのポータルから行いました。注意点は以下の通りです。

  • LinuxはUbuntu16.04のみサポートされている。(参考URL)
    • 他のバージョンでも起動はできるようですが、肝心のGPUを認識しませんでした。
  • NCシリーズが使えるリージョンは限られている。
    • 米国中南部、米国東部で使えますが、日本リージョンではまだ使えないようです。
  • OSディスクはHDDを選択しなくてはいけない。
  • リージョンのリソース状況によっては作成できないことがある。
    • 時間を置けば作成できるようになります。

NVIDIA Dockerのインストール

依存関係が面倒なことになりそうだったので、dockerを使って環境を分けることにしました。NVIDIAが提供しているNVIDIA DockerはCUDAやcuDNNが既に入っているので、こちらを使うことにします。

1.GPUドライバインストール

sudo apt-get update
sudo apt install -y gcc make
wget -O /tmp/NVIDIA-Linux-x86_64-375.20.run http://us.download.nvidia.com/XFree86/Linux-x86_64/375.20/NVIDIA-Linux-x86_64-375.20.run
chmod +x /tmp/NVIDIA-Linux-x86_64-375.20.run
sudo sh /tmp/NVIDIA-Linux-x86_64-375.20.run

2.Dockerインストール

apt-get update
apt-get install apt-transport-https ca-certificates
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" >> /etc/apt/sources.list.d/docker.list
apt-get update
apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
apt-get install docker-engine
docker run hello-world

3.NVIDIA Dockerインストール

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

最後のnvidia-smiでGPUの状態が出力されていれば完了です。

各フレームワークのインストール

ここから各フレームワークのDockerコンテナを作っていきます。GPUも使えるように作っています。

1.DIGITS

sudo nvidia-docker run --name digits -d -p 8080:34448 nvidia/digits

これでDockerホストの8080ポートでDIGITSが起動します。

2.Chainer

sudo nvidia-docker run -it --name chainer nvidia/cuda:cudnn /bin/bash

でコンテナを起動し、

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get wget git -y

のように必要なものを適当に準備し、データサイエンティストを目指す人のpython環境構築 2016のLinuxの場合を見ながらanacondaの設定をしました。最後に

pip install chainer

でchainerがインストールできました。

3.Tensorflow

Chainerと同様にしてコンテナを作り、anacondaの設定までした後、

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.0rc1-cp35-cp35m-linux_x86_64.whl
pip install --ignore-installed --upgrade $TF_BINARY_URL

でtensorflowがインストールできました。

4.CNTK

Microsoftがdockerイメージを提供していたので、それを利用しました。
CNTK Docker Containers
こちらの手順通りに実行すればCNTKがインストールできました。
(ビルドに時間がかかるのと、途中赤い文字がたくさん見えてどきどきします。)

まとめ

以上で、Chainer、Tensorflow、CNTK、DIGITSでGPUが使える環境を作ることができました。NVIDIA Docker様々です。

参考ページ

Azure NシリーズでNVIDIA DIGITSをサクッと動かす
Azure で NVIDIA GPU を使うには
データサイエンティストを目指す人のpython環境構築 2016
nvidia-dockerとは?
TensorFlow Get Started - Anaconda installation
Pythonの環境構築からTensorFlowインストール
CNTK Docker Containers

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