管理您的環境 - Amazon SageMaker

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

管理您的環境

Amazon SageMaker 工作室實驗室為您的工作室實驗室筆記本執行個體提供 環境允許您以希望使用的套件啟動 Studio Lab 筆記本執行個體。在環境中安裝套件,然後選取該環境做為核心即可達成此目標。

Studio Lab 已為您預先安裝各種環境。如果希望使用已包含許多機器學習 (ML) 工程師和資料科學家常用熱門套件的全受管環境,您通常會想要使用 sagemaker-distribution 環境。否則,如果您想要環境的持久性自訂項目,您可以使用 default 環境。如需預先安裝的 Studio Lab 可用環境的詳細資訊,請參閱Studio 實驗室預先安裝環境

您可以透過在環境中新增套件 (或程式庫) 來自訂環境。您還可以從 Studio Lab 建立新環境、匯入相容環境、重設環境以建立空間等等。

下列命令適用於在 Studio Lab 終端機中執行。但是,在安裝軟件包時,強烈建議將它們安裝在您的 Studio Lab Jupyter 筆記本中。如此可確保套件安裝在預期的環境中。若要在 Jupyter 筆記本中執行命令,請在執行儲存格前,為命令加上 % 字首。例如,終端機中的程式碼片段 pip list 與 Jupyter 筆記本中的 %pip list 相同。

下列各節提供 default Conda 環境、如何自訂,以及如何新增和移除 Conda 環境的相關資訊。如需可安裝到 Studio Lab 中的範例環境清單,請參閱建立自訂 Conda 環境。若要將這些範例環境YAML檔案與 Studio Lab 搭配使用,請參閱第 4 步:在工作室經典中安裝您的工作室實驗室控制環境

您的預設環境

Studio Lab 使用 Conda 環境來封裝執行筆記本所需的軟體套件。您的項目包含一個默認的 conda 環境,名為default,並帶有內IPython核。此環境可做為 Jupyter 筆記本的預設核心。

檢視環境

若要檢視 Studio Lab 中的環境,您可以使用終端機或 Jupyter 筆記本。下列命令將適用於 Studio Lab 終端機。如果您想要在 Jupyter 筆記本中執行對應的命令,請參閱管理您的環境

開啟「檔案瀏覽器」面板 ( Black square icon representing a placeholder or empty image. ) 以開啟 Studio Lab 終端機,選擇檔案瀏覽器頂端選單上的加號 (+) 以開啟啟動器,然後選擇「終端機」。從 Studio Lab 終端機,透過執行下列命令列出 Conda 環境。

conda env list

此命令會輸出 Conda 環境及其在檔案系統中的位置清單。當您登入 Studio Lab 時,將會自動啟動 studiolab Conda 環境。下列是您登入後所列出環境的範例。

# conda environments: # default /home/studio-lab-user/.conda/envs/default studiolab * /home/studio-lab-user/.conda/envs/studiolab studiolab-safemode /opt/amazon/sagemaker/safemode-home/.conda/envs/studiolab-safemode base /opt/conda sagemaker-distribution /opt/conda/envs/sagemaker-distribution

* 會標記已啟用的環境。

建立、啟用和使用新的 Conda 環境

如果想要針對不同的使用案例維護多個環境,您可以在專案中建立新的 Conda 環境。下列各節示範如何建立和啟用新的 Conda 環境。如需顯示如何建立自訂環境的 Jupyter 筆記本,請參閱在 SageMaker Studio Lab 中設定自訂環境

注意

維護多個環境會根據可用的 Studio Lab 記憶體進行計數。

建立 Conda 環境

若要建立 Conda 環境,請從終端機執行下列 Conda 命令。此範例使用 Python 3.9 建立新環境。

conda create --name <ENVIRONMENT_NAME> python=3.9

建立 Conda 環境後,您可以在環境清單中檢視環境。如需如何檢視環境清單的更多資訊,請參閱檢視環境

啟用 Conda 環境

若要啟用任何 Conda 環境,請在終端機中執行下列命令。

conda activate <ENVIRONMENT_NAME>

執行此命令時,任何使用 Conda 或 pip 安裝的套件皆已安裝在環境中。如需安裝套件的跟多資訊,請參閱自訂您的環境

使用 Conda 環境

若要將新的 Conda 環境與筆記本搭配使用,請確保環境中已安裝 ipykernel 套件。

conda install ipykernel

環境中已安裝 ipykernel 套件後,您可以選取該環境做為筆記本的核心。

您可能需要重新啟動 JupyterLab 才能查看可作為內核的環境。這可以通過在 SageMaker 工作室實驗室的頂部菜單中選擇 Amazon 工作室實驗室實驗室並選擇重新啟動 JupyterLab...

當您從 Studio Lab 啟動器建立新筆記本時,您將可以選擇筆記本下的核心。如需 Studio Lab 使用者介面的概觀,請參閱Amazon SageMaker 工作室實驗室 UI 概

開啟 Jupyter 筆記本時,您可以透過從頂端選單中選擇核心,然後選擇變更核心...,以選擇核心。

使用範例 Studio Lab 環境

Studio 實驗室通過 SageMaker Studio 實驗室示例存儲庫提供了示例自定義環境。以下示範如何複製和建置這些環境。

  1. 依照中的指示,複製 SageMaker Studio 實驗室範例 GitHub 儲存庫使用 GitHub 資源

  2. 在 Studio Lab 中,選擇左側選單中的檔案瀏覽器圖示 ( Black square icon representing a placeholder or empty image. ),讓檔案瀏覽器面板在左側顯示。

  3. 導覽至檔案瀏覽器中的 studio-lab-examples/custom-environments 目錄。

  4. 開啟您想要建置的環境目錄。

  5. 在資料夾中的 .yml 檔案上按一下滑鼠右鍵,然後選取建置 Conda 環境

  6. Conda 環境已完成建置後,您現在可以將該環境做為核心使用。如需如何使用現有環境做為核心的指示,請參閱建立、啟用和使用新的 Conda 環境

自訂您的環境

您可以視需要安裝和移除擴充功能及套件,以自訂您的環境。Studio Lab 隨附已預先安裝套件的環境,並使用可節省時間和記憶體的現有環境,因為預先安裝的套件不會計入可用的 Studio Lab 記憶體中。如需預先安裝的 Studio Lab 可用環境的詳細資訊,請參閱Studio 實驗室預先安裝環境

default環境中安裝的任何已安裝的擴充功能和套件都會保留在您的專案中。也就是說,您不需要為每個專案執行階段作業安裝套件。但是,已安裝在 sagemaker-distribution 環境中的擴充功能和套件將不會持續存在,您將需要在下一個工作階段期間安裝新套件。因此,強烈建議您在筆記本中安裝套件,以確保套件安裝在預期環境中。

若要檢視您的環境,請執行命令 conda env list

若要啟用您的環境,請執行命令 conda activate <ENVIRONMENT_NAME>

若要檢視環境中的套件,請執行命令 conda list

安裝套件

強烈建議在 Jupyter 筆記本中安裝套件,以確保您的套件安裝在預期環境中。若要從 Jupyter 筆記本將其他套件安裝至您的環境中,請在 Jupyter 筆記本的儲存格中執行下列其中一個命令。這些命令會在目前已啟用的環境中安裝套件。

  • %conda install <PACKAGE>

  • %pip install <PACKAGE>

我們不建議使用 !pip!conda 命令,因為當您有多個環境時,它們可能會以非預期的方式運作。

在環境中安裝新套件後,您可能需要重新啟動核心,以確保套件可在筆記本中正常運作。這可以通過在 SageMaker 工作室實驗室的頂部菜單中選擇 Amazon 工作室實驗室實驗室並選擇重新啟動 JupyterLab...

移除套件

若要移除套件,請執行命令

%conda remove <PACKAGE_NAME>

此命令同樣將移除任何遵循 <PACKAGE_NAME> 的套件,除非可以在沒有相依項的情況下找到替代套件。

若要移除環境中的所有套件,請執行命令

conda deactivate && conda env remove --name <ENVIRONMENT_NAME>

重新整理 Studio Lab

若要重新整理 Studio Lab,請移除所有環境和檔案。

  1. 列出所有 Conda 環境。

    conda env list
  2. 啟動基礎環境。

    conda activate base
  3. 除了基礎之外,請移除 Conda 環境清單中的每個環境。

    conda remove --name <ENVIRONMENT_NAME> --all
  4. 刪除 Studio Lab 中的所有檔案。

    rm -rf *.*