普段は「Google Colaboratory」を使っていますが、無料使用だとGPU使用に制限があるため、すぐにGPUが使えなくなってしまいました。
ということで、今回は以下を試します。
- GitHubとSageMakerの連携
- AWSの「SageMaker」を使って、GPUを使用して、Deep Learningをする
SageMakerとGitHubの連携手順
まずはAWSのコンソールにアクセスし、SageMakerを選択します。

さて、今回はGitHubにあるソースコードを使用したいので、SageMakerとGitHubを連携します。
SageMakerの画面に遷移したら、左側のメニューからGitリポジトリを選択します。

Gitリポジトリ画面に遷移したら、「リポジトリの追加」ボタンを押下します。
リポジトリの追加画面に遷移したら、「CodeCommitかGitHub等のサードパーティ製のリポジトリか」を選択出来ます。

今回は、「GitHubまたは他のGitベースのリポジトリ」を選択します。
選択したら、SageMakerのリポジトリ名、GitリポジトリのURL(この場合は連携したいGitHubのURL)、ブランチ名を入力します。
そして、Git認証情報として、Secret Managerを設定します。
今回はすでに作成しているSecret Managerを選択し、利用します。

作成していない場合は、以下のようにシークレットの作成を選んで、作成して下さい。
ユーザー名とパスワードにはGitHubのIDとパスワードを指定して、「シークレットの作成」ボタンを押下します。

Secret Managerの設定が完了したら、「リポジトリの追加」ボタンを押下します。
SageMakerでノートブックインスタンスの設定
さて、ここからはノートブックインスタンスを作成します。
SageMakerの画面の左側に「ノートブックインスタンス」というメニューがありますので、こちらをクリックします。

画面遷移したら、「ノートブックインスタンスの作成」ボタンを押下します。
すると、「ノートブックインスタンスの作成」画面に遷移します。
画面遷移したら、ノートブックインスタンス名とインスタンスタイプを選択します。
今回はGPUを使いたいので、「ml.p2.xlarge」を選択します。

また上記の画像でも出ていますが、Elastic Inferenceを設定しておくと、推論コストが下がるみたいなので、「ml.eia.medium」を選択しておきます。
IAMロールは必要であれば新しいロールを作成します。

Gitリポジトリは先程連携させたリポジトリを選択して、「ノートブックインスタンスの作成」を押下します。
ノートブックインスタンスを使ってみる
さて、ここまで来たらノートブックインスタンスでGPUが使えるか検証してみます。
以下のようにコードを記述します。
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
これはPyTorchでGPUが使えたらGPUを使い、使えない場合はCPUを使うというコードになります。
そして、deviceの中身を出力してみます。

最後に
さて、今回はSageMakerを使って、GPUを動かしてみました。
GPUであれば重たいDeep Learningの処理もCPUと比べたらパフォーマンスが良くなるので、本格的に実装してみたい人にとっては有効な手になると思います。
AWS認定資格や他のサービスについての記事はこちら
Pythonやディープラーニング関連の記事はこちら
コメント
コメント一覧 (4件)
[…] 関連記事 【AWS】SageMakerでGPUを使ってみる【初心者】 […]
[…] 【AWS】SageMakerでGPUを使用する手順【DeepLearning】 […]
[…] 【AWS】SageMakerでGPUを使用する手順【DeepLearning】 […]
[…] 【AWS】SageMakerでGPUを使用する手順【DeepLearning】 […]