TensorFlowでとあるリアルタイムデータのLSTMを作りたくなったので環境を作ったメモ。
自宅にはSteamゲーム用にGeforce1080Tiを積んだPCがあってTensorFlowでちょこちょこ遊んでいるんですが、がっつりマイニングするわけでもなく不在となる昼間も動かし続けるのは抵抗があったので、外部環境で欲しかった。
有名どころだと、さくらの高火力とかAWSのP2、GCPのGPU CEなんかがありますが、今回は以前から存在は知っていて興味があったものの手を出していなかったフランスのikoulaで借りてみることにしました。基本フランス語ですが、英語に切替でき手続きを進めることができます。
自宅にはSteamゲーム用にGeforce1080Tiを積んだPCがあってTensorFlowでちょこちょこ遊んでいるんですが、がっつりマイニングするわけでもなく不在となる昼間も動かし続けるのは抵抗があったので、外部環境で欲しかった。
有名どころだと、さくらの高火力とかAWSのP2、GCPのGPU CEなんかがありますが、今回は以前から存在は知っていて興味があったものの手を出していなかったフランスのikoulaで借りてみることにしました。基本フランス語ですが、英語に切替でき手続きを進めることができます。
借りたのはGeforce1070を積んだサーバー(nVIDIA的にDC利用が問題になるやつ)です。他のプランを見るとなかなかユニークなラインナップになっていて、正直どういう業者なのかよくわかんないです。

吊るしの状態だと134ユーロ/月ですが、GPU目的のためCPUもメモリもダウングレードして、最終的に
114ユーロ/月となりました。初期費用がかからないので超破格。
支払いは1ヶ月、3ヶ月、6ヶ月、1年、・・・と選択できますが、とりあえず1ヶ月を選択してpaypalを利用しました。

選んだOSはUbuntu x64 16.04。申込み完了が5/13 18:22で実際に5/14 19:46にセットアップ完了のメールが届きました。少し時間がかかった印象ですが、CPUとかをダウングレードしたのが影響したのかもしれません。それでもベアメタルサーバーとしては十分早いと思います。

セットアップ完了のメール(フランス語・・・)にグローバルIPアドレスとrootアカウントのパスワードが書かれていて、それでSSHログイン。遠い国のサーバーだけあって、流石にシェルの反応は悪いもののviを使ってもギリギリ我慢できる範囲です。ping値は280msくらい。
Ubuntuなのにrootで作業するのもアレなので、ログイン後のとりあえずの設定
- 作業用ユーザーをadduser
- /etc/ssh/sshd_configに「PermitRootLogin no」を設定して「systemctl restart sshd」
Ubuntu自体はかなりキレイな状態。パーティションのレイアウトもシンプル。ext4が利用されていた。lspci等でGeforce1070の存在は確認(ちなみにGigabyte製)できるものの、CUDA関係などは一切導入されていない。Ikoulaのセットアップスクリプトのログが「/root/IkoulaRelease」に残っていたので内容を見たところ、ホスト名、IPアドレスの設定、rootログイン設定、パッケージ最新化程度でした。
インストールしたOSはja_JP.UTF-8も使えない状態なので、有効化します。
- lspci -mm
00:00.0 "Host bridge" "Intel Corporation" "Device 590f" -r06 "Gigabyte Technology Co., Ltd" "Device 5000"00:01.0 "PCI bridge" "Intel Corporation" "Sky Lake PCIe Controller (x16)" -r06 "" ""00:14.0 "USB controller" "Intel Corporation" "Sunrise Point-H USB 3.0 xHCI Controller" -r31 -p30 "Gigabyte Technology Co., Ltd" "Sunrise Point-H USB 3.0 xHCI Controller"00:16.0 "Communication controller" "Intel Corporation" "Sunrise Point-H CSME HECI #1" -r31 "Gigabyte Technology Co., Ltd" "Sunrise Point-H CSME HECI"00:17.0 "SATA controller" "Intel Corporation" "Sunrise Point-H SATA controller [AHCI mode]" -r31 -p01 "Gigabyte Technology Co., Ltd" "Sunrise Point-H SATA controller [AHCI mode]"00:1c.0 "PCI bridge" "Intel Corporation" "Sunrise Point-H PCI Express Root Port #5" -rf1 "" ""00:1d.0 "PCI bridge" "Intel Corporation" "Sunrise Point-H PCI Express Root Port #9" -rf1 "" ""00:1d.2 "PCI bridge" "Intel Corporation" "Sunrise Point-H PCI Express Root Port #11" -rf1 "" ""00:1d.3 "PCI bridge" "Intel Corporation" "Sunrise Point-H PCI Express Root Port #12" -rf1 "" ""00:1f.0 "ISA bridge" "Intel Corporation" "Sunrise Point-H LPC Controller" -r31 "Gigabyte Technology Co., Ltd" "Sunrise Point-H LPC Controller"00:1f.2 "Memory controller" "Intel Corporation" "Sunrise Point-H PMC" -r31 "Gigabyte Technology Co., Ltd" "Sunrise Point-H PMC"00:1f.4 "SMBus" "Intel Corporation" "Sunrise Point-H SMBus" -r31 "Gigabyte Technology Co., Ltd" "Sunrise Point-H SMBus"00:1f.6 "Ethernet controller" "Intel Corporation" "Ethernet Connection (2) I219-LM" -r31 "Gigabyte Technology Co., Ltd" "Ethernet Connection (2) I219-LM"01:00.0 "VGA compatible controller" "NVIDIA Corporation" "Device 1b81" -ra1 "Gigabyte Technology Co., Ltd" "Device 3772"01:00.1 "Audio device" "NVIDIA Corporation" "Device 10f0" -ra1 "Gigabyte Technology Co., Ltd" "Device 3772"
- df -h
Filesystem Size Used Avail Use% Mounted onudev 3.9G 0 3.9G 0% /devtmpfs 795M 13M 782M 2% /run/dev/sda4 909G 6.9G 855G 1% /tmpfs 3.9G 0 3.9G 0% /dev/shmtmpfs 5.0M 0 5.0M 0% /run/locktmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup/dev/sda2 1008M 66M 892M 7% /boottmpfs 795M 0 795M 0% /run/user/0tmpfs 795M 0 795M 0% /run/user/1000
インストールしたOSはja_JP.UTF-8も使えない状態なので、有効化します。
$ sudo apt-get install language-pack-ja$ sudo update-locale LANG=ja_JP.UTF-8
あとはCUDA Tookit、Tensorflowをインストールして完了です(とくに問題なくインストールできるので割愛します)。