

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# JupyterLab ユーザーガイド
<a name="studio-updated-jl-user-guide"></a>

このガイドでは、JupyterLab ユーザーが SageMaker Studio 内で分析ワークフローと機械学習ワークフローを実行する方法について説明します。ニーズに応じて、高速ストレージを取得し、コンピューティングをスケールアップまたはスケールダウンできます。

JupyterLab は、プライベートスペースと共有スペースの両方をサポートしています。プライベートスペースは、ドメイン内の 1 人のユーザーにスコープされます。共有スペースを使用すると、ドメイン内の他のユーザーがリアルタイムでコラボレーションできます。Studio のスペースの詳細については、「[Amazon SageMaker Studio のスペース](studio-updated-spaces.md)」を参照してください。

JupyterLab の使用を開始するには、スペースを作成して JupyterLab アプリケーションを起動します。JupyterLab アプリケーションが実行されているスペースは、JupyterLab スペースです。JupyterLab スペースは、コンピューティングに 1 つの Amazon EC2 インスタンスを使用し、ストレージに 1 つの Amazon EBS ボリュームを使用します。コード、git プロファイル、環境変数など、スペース内のすべてのものが、同じ Amazon EBS ボリュームに保存されます。ボリュームのパフォーマンスは 3,000 IOPS で、スループットは 125 メガバイト/秒 (MBps) です。高速ストレージを使用すると、同じインスタンスで複数の Jupyter Notebook を開いて実行することができます。ノートブック内のカーネルをかなりすばやく切り替えることもできます。

スペースのデフォルトの Amazon EBS ストレージ設定は管理者が設定しています。デフォルトのストレージサイズは 5 GB ですが、取得する容量を増やすことができます。管理者に相談して、ガイドラインを提供できます。

JupyterLab の実行に使用する Amazon EC2 インスタンスタイプを切り替え、必要に応じてコンピューティングをスケールアップまたはスケールダウンできます。**[高速起動]** インスタンスは、他のインスタンスよりもはるかに高速に起動します。

管理者から、環境をカスタマイズするライフサイクル設定が提供される場合があります。ライフサイクル設定はスペースの作成時に指定できます。

管理者が Amazon EFS へのアクセスを許可している場合、アクセスできるよう JupyterLab スペースを設定できます。

デフォルトでは、JupyterLab アプリケーションは SageMaker ディストリビューションイメージを使用します。これには、多くの機械学習、分析、および深層学習パッケージのサポートが含まれます。ただし、カスタムイメージが必要な場合、カスタムイメージへのアクセスを管理者が許可できます。

Amazon EBS ボリュームは、インスタンスの運用状況から独立した永続性を持ちます。インスタンスを変更しても、データは失われません。conda および pip パッケージ管理ライブラリを使用して、インスタンスタイプを切り替える場合でも存続する再現可能なカスタム環境を作成します。

JupyterLab を開くと、ターミナルを使用して環境を設定できます。ターミナルを開くには、**[ランチャー]** に移動し、**[ターミナル]** を選択します。

JupyterLab で環境を設定するさまざまな方法の例を次に示します。

**注記**  
Studio 内でライフサイクル設定を使用して環境をカスタマイズすることはできますが、代わりにパッケージマネージャーを使用することをお勧めします。ライフサイクル設定を使用すると、エラーが発生しやすくなります。ライフサイクル設定スクリプトをデバッグするよりも、依存関係を追加または削除する方が簡単です。JupyterLab の起動時間を増やすこともできます。  
ライフサイクル設定については、「[JupyterLab でのライフサイクル設定](jl-lcc.md)」を参照してください。

**Topics**
+ [

# スペースを作成する
](studio-updated-jl-user-guide-create-space.md)
+ [

# スペースを設定する
](studio-updated-jl-user-guide-configure-space.md)
+ [

# パッケージマネージャーを使用して環境をカスタマイズする
](studio-updated-jl-user-guide-customize-package-manager.md)
+ [

# conda 環境をクリーンアップする
](studio-updated-jl-clean-up-conda.md)
+ [

# インスタンスタイプ間で conda 環境を共有する
](studio-updated-jl-create-conda-share-environment.md)
+ [

# Amazon Q を使用して機械学習ワークフローを高速化する
](studio-updated-jl-user-guide-use-amazon-q.md)

# スペースを作成する
<a name="studio-updated-jl-user-guide-create-space"></a>

JupyterLab の使用を開始するには、スペースを作成するか、管理者が作成したスペースを選択して JupyterLab を開きます。

スペースを作成して JupyterLab を開くには、次の手順に従います。

**スペースを作成して JupyterLab を開くには**

1. Studio を開きます。Studio を開く方法については、「[Amazon SageMaker Studio を起動する](studio-updated-launch.md)」を参照してください。

1. **[JupyterLab]** を選択します。

1. **[JupyterLab スペースを作成]** を選択します。

1. **[名前]** で、スペースの名前を指定します。

1. (オプション) **[マイドメインと共有]** を選択して、共有スペースを作成します。

1. **[スペースを作成]** を選択します。

1. (オプション) **[インスタンス]** で、スペースを実行する Amazon EC2 インスタンスを指定します。

1. (オプション) **[イメージ]** で、管理者が環境をカスタマイズするために提供したイメージを指定します。
**重要**  
カスタムイメージを表示するためには、Studio ユーザーにスペースの作成を許可するカスタム IAM ポリシーで、イメージを一覧表示するアクセス許可 (`sagemaker: ListImage`) も付与する必要があります。アクセス許可を追加するには、「*AWS Identity and Access Management* ユーザーガイド」の「[アクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。  
SageMaker AI リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md)には、それらのリソースの作成中にイメージを一覧表示するアクセス許可が既に含まれています。

1. (オプション) **[スペースの設定]** で、以下を指定します。
   + **ストレージ (GB)** – 最大 100 GB、または管理者が指定したサイズ。
   + **ライフサイクル設定** – 管理者が指定したライフサイクル設定。
   + **カスタム EFS ファイルシステムのアタッチ** – 管理者がアクセスを提供する Amazon EFS。

1. **[実行スペース]** を選択します。

1. **[JupyterLab を開く]** を選択します。

# スペースを設定する
<a name="studio-updated-jl-user-guide-configure-space"></a>

JupyterLab スペースを作成したら、以下を実行するように設定できます。
+ インスタンスタイプを変更します。
+ ストレージボリュームを変更します。
+ (管理者設定が必要) カスタムイメージを使用します。
+ (管理者設定が必要) ライフサイクル設定を使用します。
+ (管理者設定が必要) カスタム Amazon EFS をアタッチします。

**重要**  
JupyterLab スペースは、設定するたびに停止する必要があります。スペースを設定するには、次の手順に従います。

**スペースを設定するには**

1. Studio 内で、JupyterLab アプリケーションページに移動します。

1. スペースの名前を選択します。

1. (オプション) **[イメージ]** で、管理者が環境をカスタマイズするために提供したイメージを指定します。
**重要**  
カスタムイメージを表示するためには、Studio ユーザーにスペースの作成を許可するカスタム IAM ポリシーで、イメージを一覧表示するアクセス許可 (`sagemaker: ListImage`) も付与する必要があります。アクセス許可を追加するには、「*AWS Identity and Access Management* ユーザーガイド」の「[アクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。  
SageMaker AI リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md)には、それらのリソースの作成中にイメージを一覧表示するアクセス許可が既に含まれています。

1. (オプション) **[スペースの設定]** で、以下を指定します。
   + **ストレージ (GB)** – 最大 100 GB、または管理者がスペース用に設定したサイズ。
   + **ライフサイクル設定** – 管理者が指定したライフサイクル設定。
   + **カスタム EFS ファイルシステムのアタッチ** – 管理者がアクセスを提供する Amazon EFS。

1. **[実行スペース]** を選択します。

JupyterLab アプリケーションを開くと、スペースの設定が更新されます。

# パッケージマネージャーを使用して環境をカスタマイズする
<a name="studio-updated-jl-user-guide-customize-package-manager"></a>

pip または conda を使用して環境をカスタマイズします。ライフサイクル設定スクリプトの代わりにパッケージマネージャーを使用することをお勧めします。

## カスタム環境を作成してアクティブ化する
<a name="studio-updated-jl-create-basic-conda"></a>

このセクションでは、JupyterLab で環境を設定するさまざまな方法の例を示します。

基本的な conda 環境には、SageMaker AI のワークフローに必要最小限の数のパッケージが提供されています。次のテンプレートを使用して、基本的な conda 環境を作成します。

```
# initialize conda for shell interaction
conda init

# create a new fresh environment
conda create --name test-env

# check if your new environment is created successfully
conda info --envs

# activate the new environment
conda activate test-env

# install packages in your new conda environment
conda install pip boto3 pandas ipykernel

# list all packages install in your new environment 
conda list

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# to exit your new environment
conda deactivate
```

次の図は、作成した環境の場所を示しています。

![\[test-env 環境は、画面の右上隅に表示されます。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/juptyer-notebook-environment-location.png)


環境を変更するには、その環境を選択し、ドロップダウンメニューからオプションを選択します。

![\[チェックマークとそれに対応するテキストは、以前に作成した環境の例を示しています。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/jupyter-notebook-select-env.png)


**[選択]** を選択して、環境のカーネルを選択します。

## 特定の Python バージョンで conda 環境を作成する
<a name="studio-updated-jl-create-conda-version"></a>

使用していない conda 環境をクリーンアップすると、ディスク容量が解放され、パフォーマンスが向上します。次のテンプレートを使用して、conda 環境をクリーンアップします。

```
# create a conda environment with a specific python version
conda create --name py38-test-env python=3.8.10

# activate and test your new python version
conda activate py38-test-env & python3 --version

# Install ipykernel to facilicate env registration
conda install ipykernel

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# deactivate your py38 test environment
conda deactivate
```

## 特定のパッケージセットを使用して conda 環境を作成する
<a name="studio-updated-jl-create-conda-specific-packages"></a>

次のテンプレートを使用して、特定のバージョンの Python と一連のパッケージを持つ conda 環境を作成します。

```
# prefill your conda environment with a set of packages,
conda create --name py38-test-env python=3.8.10 pandas matplotlib=3.7 scipy ipykernel

# activate your conda environment and ensure these packages exist
conda activate py38-test-env

# check if these packages exist
conda list | grep -E 'pandas|matplotlib|scipy'

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# deactivate your conda environment
conda deactivate
```

## 既存の環境から conda をクローンする
<a name="studio-updated-jl-create-conda-clone"></a>

conda 環境をクローンして、動作状態を維持します。テスト環境に重大な変更を加えることを心配することなく、クローン環境で実験することができます。

以下のコマンドを実行して、環境をクローンします。

```
# create a fresh env from a base environment 
conda create --name py310-base-ext --clone base # replace 'base' with another env

# activate your conda environment and ensure these packages exist
conda activate py310-base-ext

# install ipykernel to register your env
conda install ipykernel

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# deactivate your conda environment
conda deactivate
```

## 参照 YAML ファイルから conda をクローンする
<a name="studio-updated-jl-create-conda-yaml"></a>

参照 YAML ファイルから conda 環境を作成します。次は、使用できる YAML ファイルの例です。

```
# anatomy of a reference environment.yml
name: py311-new-env
channels:
  - conda-forge
dependencies:
  - python=3.11
  - numpy
  - pandas
  - scipy
  - matplotlib
  - pip
  - ipykernel
  - pip:
      - git+https://github.com/huggingface/transformers
```

`pip` では、conda で使用できない依存関係のみ指定することをお勧めします。

次のコマンドを使用して、YAML ファイルから conda 環境を作成します。

```
# create your conda environment 
conda env create -f environment.yml

# activate your env
conda activate py311-new-env
```

# conda 環境をクリーンアップする
<a name="studio-updated-jl-clean-up-conda"></a>

使用していない conda 環境をクリーンアップすると、ディスク容量が解放され、パフォーマンスが向上します。次のテンプレートを使用して、conda 環境をクリーンアップします。

```
# list your environments to select an environment to clean
conda info --envs # or conda info -e

# once you've selected your environment to purge
conda remove --name test-env --all

# run conda environment list to ensure the target environment is purged
conda info --envs # or conda info -e
```

# インスタンスタイプ間で conda 環境を共有する
<a name="studio-updated-jl-create-conda-share-environment"></a>

conda 環境は、Amazon EBS ボリューム外の Amazon EFS ディレクトリに保存することにより共有できます。保存したディレクトリ内の環境に別のユーザーがアクセスすることができます。

**重要**  
環境の共有には制限があります。例えば、CPU インスタンスで実行される環境よりも、GPU Amazon EC2 インスタンスで実行されることを意図した環境が推奨されることはありません。

次のコマンドをテンプレートとして使用して、カスタム環境を作成するターゲットディレクトリを指定します。特定のパス内に conda を作成します。Amazon EFS ディレクトリ内に作成します。新しいインスタンスをスピンアップし、conda activate パスを実行して Amazon EFS 内で実行できます。

```
# if you know your environment path for your conda environment
conda create --prefix /home/sagemaker-user/my-project/py39-test python=3.9

# activate the env with full path from prefix
conda activate home/sagemaker-user/my-project/py39-test

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | awk -F' : ' '{print $2}' | awk -F'/' '{print $NF}')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env-prefix:($CURRENT_ENV_NAME)"

# deactivate your conda environment
conda deactivate
```

# Amazon Q を使用して機械学習ワークフローを高速化する
<a name="studio-updated-jl-user-guide-use-amazon-q"></a>

Amazon Q Developer は、AI を活用した機械学習開発のパートナーです。Amazon Q Developer では、次のことができます。
+ SageMaker AI 機能を個別に、または他の AWS サービスと組み合わせて使用するためのstep-by-stepガイダンスを受け取ります。
+ データ準備、トレーニング、推論、MLOps などの ML タスクを開始するサンプルコードを取得する。
+ コードを実行中に発生したエラーをデバッグおよび解決するためのトラブルシューティングサポートを受ける。

Amazon Q Developer は JupyterLab 環境にシームレスに統合されます。Amazon Q Developer を使用するには、JupyterLab 環境または Code Editor 環境の左側のナビゲーションから **[Q]** を選択します。

**[Q]** アイコンが表示されない場合、管理者が設定する必要があります。Amazon Q Developer の設定について詳しくは、「[ユーザー用に Amazon Q Developer を設定する](studio-updated-amazon-q-admin-guide-set-up.md)」を参照してください。

Amazon Q では、コードの記述に役立つ提案が自動的に提供されます。チャットインターフェイスから提案を求めることもできます。