スポンサーリンク

【初心者】Amazon SageMaker Studio Labに登録して、PyTorchをGPUで動かす【機械学習】

Machine Learning

誰でも無料でGPUを利用できるAmazon SageMaker Studio Lab(Studio Lab)の始め方の手順を記載していきます。また、GPUでPyTorchを動作させるところまで見ていきます。
Studio Labは、AWSのアカウントは必要ないため、クレジットカードを登録する必要もなく、メールアドレスのみで使用できます。

スポンサーリンク

Amazon SageMaker Studio Labのアカウント作成

Studio Labを始めるためには、まずアカウントを作成する必要があります。下記URLにアクセスし、「Request free account」をクリックします。

Request accountでは、入力欄がいくつかありますが、必須項目は「Enter your email」の欄だけですので、emailのみ入力して「Submit request」をクリックします。

入力したメールアドレスにVerifyのためのメールが届いたら、24時間以内に「Verify your email」をクリックします。

「Verify your email」をクリック後、Account request confirmedのメールが届き、「wait list」に追加されたことが確認できます。アカウント承認までは、何日かかかるため待ちます。それまでは、Studio Labでなにかすることは出来ません。

数日後に、以下のようなAccount request approvedが届くので、「Create account」をクリックします。私の場合は、次の日にメールが来ました。またこのメールが来てから7日以内にアカウントを作成する必要があるので、注意が必要です。

クリックすると、Create accountのページに飛ぶので、メールアドレス、パスワードとユーザー名を記入して、「Create account」をクリックします。そうするとverifyのメールが届くので、「Verify your email」をクリックしたアカウントの作成は完了です。

Amazon SageMaker Studio LabでPyTorchをGPUで動かす

以下リンクをクリックして、Amazon SageMaker Studio Labの「Sign in」ページに進み、ユーザー名とパスワードを入力して、サインインします。

SageMaker Studio Lab

サインすると以下の画面が表示されるので、Compute typeで「GPU」を選択し、「Start runtime」をクリックします。

ruuntimeが起動すると、「Open project」がクリックできるようになるので、クリックします。アクセスが沢山あると、「The server currently has too many requests. Please try again later」と表示され、runtimeが起動できないことがありますが、少し待てば起動できるので、何回か試してみてください。

JupyterLabが起動するので、Notebook>default:Pythonをクリックします。Pytorchをimportしてみます。ModuleNotFoundErrorがでており、PyTorchがインストールされていないことが分かります。

import torch

# ---------------------------------------------------------------------------
# ModuleNotFoundError                       Traceback (most recent call last)
# /tmp/ipykernel_182/4265195184.py in <cell line: 1>()
# ----> 1 import torch
# 
# ModuleNotFoundError: No module named 'torch'

pipコマンドでPyTorchをインストールします。

!pip3 install torch torchvision torchaudio --extra-index-url <https://download.pytorch.org/whl/cu116>

インストール後、torch.cuda.is_availableでGPUが使用可能か確認します。「Using cuda device」を表示されたのでGPUが使用できそうです。

import torch

device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Using {device} device")
# Using cuda device

関連記事、参考資料

コメント