Kindleで技術書が最大70%OFFのセール中!詳しくはこちら

【AWS】SageMakerでGPUを使用する手順【DeepLearning】

普段は「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を新規作成する

Secret Managerの設定が完了したら、「リポジトリの追加」ボタンを押下します。

ここまでで、SageMakerとGitHubの連携が完了しました。

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の中身を出力してみます。

cudaと出力されているため、GPUが使われています!

最後に

さて、今回はSageMakerを使って、GPUを動かしてみました。

GPUであれば重たいDeep Learningの処理もCPUと比べたらパフォーマンスが良くなるので、本格的に実装してみたい人にとっては有効な手になると思います。

また注意点ですが、使わないノートブックインスタンスは停止をしておかないと課金が発生するので、こまめに停止するようにしましょう。

AWS認定資格や他のサービスについての記事はこちら

Pythonやディープラーニング関連の記事はこちら

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (4件)

コメントする

目次
閉じる