14
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

タダでGCPのGPU(NVIDIA Tesla K80)を使ってディープラーニング(NVIDIA DIGITS)する方法

Last updated at Posted at 2019-02-14

(更新)
2/14記事公開
NVIDIA DIGITSを用いた学習済モデルの構築方法は後日公開予定
※いいね数を見て興味を持つ人が多ければ急いで更新します。

【やることの流れ】
1.Google Cloud Platformの無料トライアルに登録
2.Google Compute Engine上にGPU(NVIDIA Tesla K80)付きのVMインスタンスを構築
3.VMインスタンスにVNC(リモートデスクトップ)接続環境を構築
4.ディープラーニング用のラベリングツールをインストール、ラベリング実施
5.NVIDIA DIGITSを用いてディープラーニングを実行し、学習済モデルを構築

【前提と留意事項】
・GPUを利用するとき以外はGPU或いはInstanceを停止してください(物凄い勢いで無料枠を消費します。)
・GCP、GPU、ディープラーニング未経験でも問題なし(ただし、Linuxの基本的操作スキルは必要)
・GCPは無料枠(3万円分)の利用を想定(Gmailアカウントを持っていること)
・インスタンスの起動時に課金されるため、使用時以外は停止することを推奨
・海外サイトでも情報公開しているため画像内の言語は英語(日本語とボタン等の配置は同じ)

#GCPの無料トライアルに登録

  • 大まかな流れ
    • GCP無料トライアル登録
    • GCE有効化
    • アカウントアップグレード
    • GPUの制限解除

Google Cloud Platformにアクセス
「TRY GCP FREE」をクリック
1_GCP(registry).PNG

適宜入力して、「AGREE AND CONTINUE」をクリック
2_GCP(AGREE AND CONTINUE).PNG

所属やクレジットカード情報を入力して、「START MY FREE TRIAL」をクリック
※カード情報を入力しますが、無料枠を超えて勝手に課金されることは有りません
3_GCP(START MY FREE TRIAL).PNG

#GCPにGPU使用の伺いを立てる
GCPでGPUを使用する場合は、Googleに設定を変更してもらう必要があります
(ですので、登録後すぐにGPUを使用することはできません)

まずCompute Engineを有効にするために、GCP consoleのHOME画面左のメニューより、
Compute Engine > VM Instance (VMインスタンス) をクリック
4_GCP(gce select).PNG

Enable Billing(課金を有効にする)をクリックする
※クリックしても無料枠を超えて勝手に課金されることは有りません。
5_GCP(gce enable).PNG

有効になるまで少し待ちます(完了すると以下の文言が消えます。)
6_GCP(gce enable loading).PNG

初期設定ではGPUの使用に制限がかかっているため、GCPに設定変更を依頼
まず、HOME画面左のメニューより、 IAM&admin (IAMと管理)>Quotas (割り当て) をクリック
7_GCP(IAM&admin).PNG

GPUを有効にするために、アカウントのアップグレードを行う
アップグレード後は再読み込みを実施すると画面に反映される
8_GCP(account upgrade).PNG

GPUの割り当てを編集するために、Metric(指標)>GPUs (all regions)のみを選択
8_GCP(gpu enable).PNG

チェックボックスをチェックして、「EDIT QUOTAS(割り当てを編集)」をクリック
9_GCP(edit quotas).PNG

New quota limitに0以外の数値を入れて、適当にリクエスト文言を入力してリクエスト登録
10_GCP(submit request).PNG

早ければ30分くらいで設定完了メールが届き、GPUが使用できるようになる

#Google Compute Engine上にGPU(NVIDIA Tesla K80)付きのVMインスタンスを構築

  • 大まかな流れ
    • VNC接続用にファイヤーウォールの設定
    • GCEでGPU付きVMインスタンスの設定

まず、後々VNC接続できるようにVM作成の前に、5901ポートを開ける設定をする
HOME画面左のメニューから、VPC Network(VPCネットワーク) > Firewall Rules(ファイヤーウォールルール)をクリック
11_GCP(vpcnetwork select).PNG

上部の「Create a firewall rule(ファイヤーウォール ルールを作成)」を押下し、以下の通り設定し作成する
この例のTarget Tags(ターゲットタグ)の「vnc-server」がVMインスタンスで紐づけるIDになる
12_GCP(make firewall rules).PNG

次に、GPU付きVMインスタンスの設定
GCEのVMインスタンスページでCreate(作成)をクリック
13_GCP(VM instance select).PNG

インスタンスの詳細設定(以下の通り設定しないとGPUは使用できない)
Name:適切な名前を入力
Region(リージョン):us-west1(Oregon)(オレゴン)
Zone(ゾーン):us-west1-b

ここでMachine type(マシンタイプ)でCustomize(カスタマイズ)をクリックすると、
vCpuとGPU有無を設定可能になる

Number of GPUs(GPU数):1
GPU type(GPUモデル):NVIDIA Tesla K80
14_GCP(make VM instance).PNG

Boot diskで変更をクリックし、
Boot disk:Ubuntu 16.04 LTS
Size:50GBに変更する
15_GCP(change boot disl).PNG

VNC接続可能なファイヤーウォールルールを紐づけるために、
Management, security, disks, networking, sole tenancy
(管理、セキュリティ、ディスク、ネットワーク、単一テナンシー)をクリックして、
Networking>Network Tagsにファイヤーウォールルールで作成したタグ名を入力して作成

16_GCP(firewall rules).PNG

1分程度待つと、上記設定のVMインスタンスが構築され、SSHログイン可能になる

#VMインスタンスにVNC(リモートデスクトップ)接続環境を構築

  • 大まかな流れ
    • デスクトップ環境のインストール
    • VNCサーバのインストール
    • VNC接続の確認

※ここから先、基本的なLinux操作ができる前提で進める
デスクトップ環境をインストールするために、console上からSSHを押下してログインする
17_GCP(ssh login).PNG

別ウィンドウが開かれ、ログインが成功すると以下の様になる
18_GCP(ssh login OK).PNG

まず、apt-getのアップデートを行う

sudo apt-get update

続いて、gnome-coreをインストール

sudo apt-get install gnome-core

最後に、gnome-panelをインストール

sudo apt-get install gnome-panel

ここから、VNCサーバのインストール

sudo apt-get install vnc4server

一旦、VNCサーバを起動して、設定ファイルを生成する
※初回はパスワード設定を求められる

vncserver

起動に成功すると、以下の位置に設定ファイルが生成される
19_GCP(vncserver start).PNG

VNCサーバの設定を変更するために、一旦、VNCサーバを停止する

vncserver -kill :1

設定を変更するために、xstartupを編集

vim .vnc/xstartup

  • xstartupの編集内容
    • #unset SESSION_MANAGERの#を外します。
    • [ -x /etc/vnc/xstartup ]以下の全ての行の先頭に#を付けます。
    • 一番下に以下の設定を追加します。
      • metacity &
      • gnome-settings-daemon &
      • gnome-panel &

20_GCP(edit xstartup).PNG
※ちゃんと:wqで上書き保存するように

再びVNCサーバを起動

vncserver

※自動起動にしていないため、インスタンスを立ち上げる度にVNCサーバを起動すること

VNC接続の確認

まずVNCクライアントを用意、ここではGoogle Chromeのアプリを使用するためインストール
VNC® Viewer for Google Chrome™

External IP(外部IP)がVNCで接続するためのIPアドレスを以下から確認
17_GCP(ssh login).PNG

VNC Viewerを起動し、Addressに「外部IP:5901」を入力して接続
21_GCP(vnc connect check).PNG

接続パスワードを入力して、成功するとUbuntuデスクトップが表示される
22_GCP(vnc desktop).PNG

** <注意>GPUを利用するとき以外はGPU或いはInstanceを停止してください(物凄い勢いで無料枠を消費します。) **

14
9
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
14
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?