EC2のGPU付インスタンスでCloud9を使う[AWS][Cloud9]
Cloud9を構築する際にデフォルトで選択できるインスタンスはCPUのものしかない.
このため,筆者はGPU付きのインスタンスを別でたてて,そこにCloud9をインストールをしたのだが,色々とハマりポイントがあり,1週間ほどこの作業に費やしてしまったので,備忘録として本記事を作成する.
EC2でGPU付きインスタンスを構築
AWSコンソールでインスタンスをたてる.基本的な方法は,ほかにも紹介記事がたくさんあるので割愛.
注意点①
インスタンスのストレージを250GBくらいに変更しておくこと.
デフォルトの値は8GBであったため,NVIDIAドライバをインストールするとすぐ容量いっぱいになってしまう(一度失敗経験あり).ここでしっかりと設定をしておく.
EBS(ストレージ)をインスタンスにアタッチする
本インスタンスを作る目的は,Kaggleのコンペに挑戦することなので,データセット格納用のEBSをアタッチしておく.
本手順は,後でもできるが,構築の際にやっておかないと手順を忘れてしまうことがある.
Cloud9のインストール
以下の手順に沿ってインストールを行う.
以下メモ.
起動後のインスタンスでは,初めにsudo apt updateをかけておくこと.
NodeJSのインストールのために,一旦Mobaextermなどのsshクライアントで,アクセスすることがある.
インスタンスにPython3.6をインストールする
注意点②
Python3.6を入れること
Python3.6じゃないとCloud9上で切り替えることができない.# なぜだろう?原因は特定できていない.
add-apt-repository ppa:jonathonf/python-3.6apt-get updatesudo apt-get install python3.6 python3.6-devwget https://bootstrap.pypa.io/get-pip.pysudo 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 ~/.bashrcpython -V>> Python 3.6.8pip -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 sysprint(sys.version)所望のPythonバージョンがでてきたら,完了
以下はTensorflowを使うためのオプション.
### Nvidiaドライバをインストール
ひとまず[GPU](http://d.hatena.ne.jp/keyword/GPU)の型を確認する.
```lspci | grep -i nvidia>> 00:1d.0 VGA compatible controller: NVIDIA Corporation GM204GL (rev a1)>> 00:1e.0 VGA compatible controller: NVIDIA Corporation GM204GL (rev a1)```
Tesla M60 だったので,[https://www.nvidia.co.jp/Download/index.aspx?lang=jp](https://www.nvidia.co.jp/Download/index.aspx?lang=jp) から[インストーラ](http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%E9)をダウンロード.
```chmod 755 NVIDIA-Linux-x86_64-418.67.runsudo ./NVIDIA-Linux-x86_64-418.67.run```
[nvidia](http://d.hatena.ne.jp/keyword/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](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-idpip install tensorflow-gpu#### cuDNN7.1をインストール以下のサイトからインストール.https://developer.nvidia.com/rdp/cudnn-download#a-collapse751-101```