JupyterLab 使用者指南 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

JupyterLab 使用者指南

本指南向 JupyterLab 使用者說明如何在 SageMaker Studio 中執行分析和機器學習工作流程。您可以取得快速的儲存空間,並根據需求擴充或縮減運算規模。

JupyterLab 支持私人和共享空間。私人空間的範圍是網域中的單一使用者。共用空間可讓您網域中的其他使用者即時與您共同作業。若要取得有關 Studio 空間的資訊,請參閱Amazon SageMaker 工作室

若要開始使用 JupyterLab,請建立空間並啟動您的 JupyterLab應用程式。運行 JupyterLab 應用程序的空間是一個 JupyterLab 空間。該 JupyterLab 空間使用單一 Amazon EC2 執行個體進行運算,而儲存使用單一 Amazon EBS 磁碟區。空間中的所有內容 (例如程式碼、git 設定檔和環境變數) 都儲存在相同的 Amazon EBS 磁碟區上。磁碟區有 3000 IOPS,輸送量為每秒 125 兆位元組 (MBP)。您可以使用快速儲存在同一個執行個體上開啟和執行多個 Jupyter 記事本。您也可以非常快速地在筆記本中切換內核。

您的管理員已為您的空間設定預設的 Amazon EBS 儲存設定。預設儲存空間大小為 5 GB,但您可以增加取得的空間量。您可以與您的系統管理員洽詢,為您提供指導方針。

您可以根據需要切換用於執行的 Amazon EC2 執行個體類型 JupyterLab,以及擴展或縮減運算。快速啟動執行個體的啟動速度比其他執行個體快得多。

您的管理員可能會為您提供可自訂環境的生命週期組態。您可以在建立空間時指定生命週期組態。

如果您的管理員授予您 Amazon EFS 的存取權,您可以設定 JupyterLab空間來存取它。

根據預設, JupyterLab 應用程式會使用 SageMaker 分佈映像。這包括對許多機器學習、分析和深度學習套件的支援。不過,如果您需要自訂映像檔,您的管理員可以協助提供對自訂映像檔的存取權。

Amazon EBS 磁碟區與執行個體的生命週期獨立存在。變更執行個體時,不會遺失資料。使用 conda 和 pip 套件管理程式庫來建立可重複使用的自訂環境,即使您切換執行個體類型也會持續存在。

若要開始使用 JupyterLab,請建立空間,或選擇管理員為您建立的空間,然後開啟 JupyterLab。

使用下列程序建立空間並開啟 JupyterLab。

若要建立空間並開啟 JupyterLab
  1. 重新開啟 Studio。若要取得有關開啟 Studio 的資訊,請參閱推出 Amazon SageMaker 工作

  2. 選擇JupyterLab

  3. 選擇 [建立 JupyterLab 空間]。

  4. 對於「名稱」,指定空間的名稱。

  5. (選擇性) 選取 [與我的網域共用] 以建立共用空間。

  6. 選擇 [建立空間]。

  7. (選擇性) 對於執行個體,指定執行空間的 Amazon EC2 執行個體。

  8. (選擇性) 對於 Image,請指定管理員提供的映像來自訂您的環境。

  9. (選擇性) 對於 「空間設定」,請指定下列項目:

    • 儲存空間 (GB) — 最多 100 GB 或管理員指定的容量。

    • 生命週期組態 — 您的管理員指定的生命週期組態。

    • 連接自訂 EFS 檔案系統 — 您的管理員提供存取權的 Amazon EFS。

  10. 選擇 [執行空間]。

  11. 選擇「開啟」 JupyterLab。

設定空間

建立 JupyterLab 空間後,您可以將其設定為執行下列動作:

  • 變更執行個體類型。

  • 變更儲存磁碟區。

  • (需要管理員設置)使用自定義圖像。

  • (需要管理員設定) 使用生命週期組態。

  • (需要管理員設定) 附加自訂的 Amazon EFS。

重要

您必須在每次設定 JupyterLab 空間時停止該空間。請使用下列程序來設定空間。

若要設定空間
  1. 在 Studio 中,導航到 JupyterLab 應用程序頁面。

  2. 選擇空間的名稱。

  3. (選擇性) 對於 Image,請指定管理員提供的映像來自訂您的環境。

  4. (選擇性) 對於 「空間設定」,請指定下列項目:

    • 儲存空間 (GB) — 最多 100 GB 或管理員為空間設定的容量。

    • 生命週期組態 — 您的管理員提供的生命週期組態。

    • 連接自訂 EFS 檔案系統 — 您的管理員提供存取權的 Amazon EFS。

  5. 選擇 [執行空間]。

當您開啟 JupyterLab 應用程式時,您的空間具有更新的組態。

開啟後 JupyterLab,您可以使用終端機設定您的環境。要打開終端,請導航到啟動器並選擇終端

以下是您可以在中配置環境的不同方式的範例 JupyterLab。

注意

在 Studio 中,您可以使用生命週期設定來自訂您的環境,但我們建議改用套件管理員。使用生命週期組態是較容易出錯的方法。新增或移除相依性比偵錯生命週期組態指令碼更容易。它還可以增加 JupyterLab 啟動時間。

如需生命週期組態的資訊,請參閱使用生命週期組態 JupyterLab

使用套件管理員自訂您的環境

使用點子或康達來自定義您的環境。我們建議使用套件管理員,而非生命週期組態指令碼

建立並啟用您的自訂環境

本節提供您可以在中配置環境的不同方法的範例 JupyterLab。

基本 conda 環境具有中 SageMaker工作流程所需的最少封裝數目。使用下列範本建立基本的 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

下圖顯示您所建立之環境的位置。

測試環境顯示在屏幕的右上角。

若要變更您的環境,請選擇它,然後從下拉式功能表中選取一個選項。

核取記號及其對應的文字會顯示您先前建立的範例環境。

選擇 「選取」以選取環境的核心。

清理康達環境

清理您未使用的 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

使用特定的 Python 版本創建一個康達環境

清理您未使用的 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 環境

使用下列範本來建立具有特定 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

克隆您的 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 檔案克隆康達

從參考 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 create -f environment.yml # activate your env conda activate py311-new-env

在執行個體類型之間共用

您可以透過將環境儲存到 Amazon EBS 磁碟區以外的 Amazon EFS 目錄來共用 Conda 環境。其他使用者可以存取您儲存環境的目錄中的環境。

重要

共用您的環境有限制。例如,我們不建議在 CPU 執行個體上執行的環境中,在 GPU Amazon EC2 執行個體上執行的環境。

使用下列指令做為範本,以指定要在其中建立自訂環境的目標目錄。您正在創建一個特定路徑內的 conda。您可以在 Amazon EFS 目錄中建立它。您可以啟動一個新的實例,並執行連接激活路徑並在 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 加速您的 Machine Learning 工作流程

Amazon Q 開發人員是您採用 AI 技術的機器學習開發夥伴。使用 Amazon Q 開發人員,您可以:

  • 獲得有 step-by-step 關獨立使用或與其他 AWS 服務結合使用 SageMaker 功能的指引。

  • 取得範例程式碼以開始執行 ML 工作,例如資料準備、訓練、推論和 MLOP。

  • 接收疑難排解協助,以偵錯並解決在中執行程式碼時遇到的錯誤 JupyterLab。

Amazon Q 開發人員無縫整合到您的 JupyterLab 環境中。若要使用 Amazon Q 開發人員,請從 JupyterLab 環境的左側導覽中選擇 Q

如果您沒有看到 Q 圖示,表示您的管理員必須為您設定。如需設定 Amazon Q 開發人員的詳細資訊,請參閱為您的使用者設定 Amazon Q 開發人員

Amazon Q 會自動提供建議,協助您撰寫程式碼。您也可以通過聊天界面詢問建議。

收到建議後,您可以替換單元格中的代碼,也可以將其添加到新單元格中。