EC2のGPU付インスタンスでCloud9を使う[AWS][Cloud9]

7月 25, 2020

Cloud9を構築する際にデフォルトで選択できるインスタンスはCPUのものしかない.

このため,筆者はGPU付きのインスタンスを別でたてて,そこにCloud9をインストールをしたのだが,色々とハマりポイントがあり,1週間ほどこの作業に費やしてしまったので,備忘録として本記事を作成する.

EC2でGPU付きインスタンスを構築

AWSコンソールでインスタンスをたてる.基本的な方法は,ほかにも紹介記事がたくさんあるので割愛.

注意点①

インスタンスのストレージを250GBくらいに変更しておくこと.

デフォルトの値は8GBであったため,NVIDIAドライバをインストールするとすぐ容量いっぱいになってしまう(一度失敗経験あり).ここでしっかりと設定をしておく.

EBS(ストレージ)をインスタンスにアタッチする

インスタンスを作る目的は,Kaggleのコンペに挑戦することなので,データセット格納用のEBSをアタッチしておく.

本手順は,後でもできるが,構築の際にやっておかないと手順を忘れてしまうことがある.

Cloud9のインストール

以下の手順に沿ってインストールを行う.

vastee.hatenablog.com

以下メモ.

起動後のインスタンスでは,初めにsudo apt updateをかけておくこと.

NodeJSのインストールのために,一旦Mobaextermなどのsshクライアントで,アクセスすることがある.

インスタンスにPython3.6をインストールする

注意点②

Python3.6を入れること

Python3.6じゃないとCloud9上で切り替えることができない.# なぜだろう?原因は特定できていない.

add-apt-repository ppa:jonathonf/python-3.6
apt-get update
sudo apt-get install python3.6 python3.6-dev
wget https://bootstrap.pypa.io/get-pip.py
sudo chown -R ubuntu:ubuntu /usr/local/ # rootしかアクセスできないパーミッションになっているので変更
python3.6 get-pip.py # python get-pip.pyだとデフォルトのpython3.5にインストールされてしまうことがある
vim ~/.bashrc
>> alias python='python3.6'
source ~/.bashrc
python -V
>> Python 3.6.8
pip -V
>> pip 19.1.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)

以下メモ.

Ubuntu16.04には標準でPython3.5が入っているのだが,これを消そうとするとシステムが壊れるので,気持ち悪いのは我慢して消さずにエイリアス変更で我慢しよう.ちなみに上のadd-apt-repositoryのコマンドを打つと A plain backport of just Python 3.6. System extensions/Python libraries may or may not work. という警告がでてくる.

Cloud9のプリファレンスをPython3に切り替える

うまくいっていることを祈りながらテストする.

テストに使ったスクリプト

import sys
print(sys.version)

所望のPythonバージョンがでてきたら,完了

以下はTensorflowを使うためのオプション.
~~~

Nvidiaドライバをインストール

ひとまずGPUの型を確認する.

lspci | grep -i nvidia
>> 00:1d.0 VGA compatible controller: NVIDIA Corporation GM204GL [Tesla M60] (rev a1)
>> 00:1e.0 VGA compatible controller: NVIDIA Corporation GM204GL [Tesla M60] (rev a1)

Tesla M60 だったので,https://www.nvidia.co.jp/Download/index.aspx?lang=jp からインストーラをダウンロード.

chmod 755 NVIDIA-Linux-x86_64-418.67.run
sudo ./NVIDIA-Linux-x86_64-418.67.run

nvidia-smiが叩けるかを確認.

CUDA10.0をインストール

以下の手順に沿ってインストール

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=debnetwork

nvcc -Vが叩けるか確認.

TensorflowとKerasをインストール(オプション)

sudo apt-get install -y git build-essential libssl-dev language-pack-id
pip install tensorflow-gpu
#### cuDNN7.1をインストール
以下のサイトからインストール.
https://developer.nvidia.com/rdp/cudnn-download#a-collapse751-101

AWS,Cloud9

Posted by vastee