スポンサーリンク

【初心者】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」ページに進み、ユーザー名とパスワードを入力して、サインインします。

ERROR: The request could not be satisfied

サインすると以下の画面が表示されるので、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

関連記事、参考資料

コメント