安裝外部庫和內核 - Amazon SageMaker

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

安裝外部庫和內核

重要

目前,筆記型電腦執行個體環境中的所有套件均已授權可 SageMaker 與 Amazon 搭配使用,不需要額外的商業授權。但是,這可能會在 future 發生變化,我們建議您定期查看許可條款以獲取任何更新。

Amazon SageMaker 筆記型電腦執行個體已安裝多個環境。這些環境包含 Jupyter 內核和 Python 軟件包,包括:科學包, 熊貓,,, 和. NumPy TensorFlow MXNet 當您停止和啟動筆記本執行個體時,上述環境和 sample-notebooks 資料夾內的所有檔案都會重新更新。您也可以安裝含有自己挑選的套件和核心的自有環境。

Amazon SageMaker 筆記本執行個體中不同的 Jupyter 內核是單獨的 conda 環境。如需 conda 環境的相關資訊,請參閱 Conda 文件對於管理環境的相關文章。

在筆記本執行個體的 Amazon EBS 磁碟區上安裝自訂環境和核心。這樣可確保當您停止並重新啟動筆記本執行個體時,它們會持續存在,而且您安裝的任何外部程式庫都不會被更新 SageMaker。若要這麼做,請使用生命週期組態,其中包含建立筆記本執行個體時所執行的指令碼 (on-create) 以及每次重新啟動筆記本執行個體時執行的指令碼 (on-start)。如需筆記本執行個體生命週期組態的更多相關資訊,請參閱使用LCC指令碼自訂 SageMaker 筆記本執行個體SageMaker筆記本執行個體生命週期組態範例中有一個包含生命週期組態指令碼的 GitHub儲存庫。

https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples /blob /主/腳本/ /on-create.sh 和-/blob /主/腳本/ persistent-conda-ebs /on-start.sh 的例子顯示了在筆記本實例上安裝環境和https://github.com/aws-samples/amazon-sagemaker-notebook-instancelifecycle-config-samples內persistent-conda-ebs核的最佳實踐。該 on-create 指令碼會安裝 ipykernel 程式庫以將自訂環境建立為 Jupyter 核心,然後使用 pip installconda install 安裝程式庫。您可以調整指令碼以建立自訂環境並安裝所需的資源庫。 SageMaker 當您停止並重新啟動筆記本執行個體時,不會更新這些程式庫,因此您可以確保您的自訂環境具有您想要的特定程式庫版本。此 on-start 指令碼會安裝您建立為 Jupyter 核心的任何自訂環境,讓它們出現在 Jupyter 新增功能表的下拉式清單中。

套件安裝工具

SageMaker 筆記本電腦支持以下軟件包安裝工具:

  • Conda 安裝

  • pip 安裝

您可以使用以下方法安裝套件:

您可以在筆記本中使用系統命令語法 (以 ! 開頭的行) 來安裝套件,例如 !pip install!conda install。最近,新命令已添加到IPython:%pip%conda。這些命令是從筆記本安裝套件的建議方法,因為它們能正確地考慮使用中的環境或解譯器。有關更多資訊,請參閱添加 %PIP 和 %Conda 魔法函數

Conda

Conda 是一個開源軟件包管理系統和環境管理系統,它可以安裝軟件包及其依賴關係。 SageMaker 支持將 Conda 與兩個主通道中的任何一個一起使用,默認通道和 conda 鍛造通道。有關更多資訊,請參閱 Conda 通道。conda-forge 通道是一個社群通道,貢獻者可以在其中上傳套件。

注意

由於 Conda 解決相依性圖形的方式,從 conda-forge 安裝套件可能需要更長的時間 (最長超過 10 分鐘)。

深度學習AMI隨附許多 conda 環境以及許多預先安裝的套件。由於預先安裝的套件數量龐大,因此很難找到一組保證相容的套件。您可能會看到警告 “環境不一致,請仔細確認套件方案”。儘管出現此警告,請 SageMaker 確保所有 SageMaker 提供的環境都是正確的。 SageMaker 無法保證任何使用者安裝的套件都能正常運作。

注意

在這些服務中使用 Anaconda 時 SageMaker, AWS Deep Learning AMIs 和 Amazon 的用戶EMR可以在 2024 年 2 月 1 日之前訪問商業 Anaconda 存儲庫,而無需獲得商業許可證。對於在 2024 年 2 月 1 日之後使用商業 Anaconda 儲存庫的任何情況,客戶必須自行決定 Anaconda 授權要求。

Conda 有兩種啟動環境的方法:conda 啟動/停用以及來源啟動/停用。有關更多資訊,請參閱我應該在 Linux 中使用 'conda 啟動' 或 '來源啟動'

SageMaker 支援將 Conda 環境移到 Amazon EBS 磁碟區上,該磁碟區會在執行個體停止時保留。當環境安裝到根磁碟區時,環境不會持續存在,此為預設行為。如需生命週期指令碼範例,請參閱persistent-conda-ebs

支援 conda 作業 (請參閱本主題底部的註釋)
  • conda 在單一環境中安裝套件

  • conda 在所有環境中安裝套件

  • conda 在 R 環境中安裝 R 套件

  • 從主要 conda 儲存庫安裝套件

  • 從 conda-forge 安裝套件

  • 變更要使用的 Conda 安裝位置 EBS

  • 支援 conda 啟動與來源啟動

Pip

Pip 是實際用於安裝和管理 Python 套件的工具。Pip 預設會在 Python Package Index (PyPI) 上的搜尋套件。Pip 與 Conda 不同,沒有內建環境支援,並且在涉及具有本地/系統程式庫相依性關係的套件時不如 Conda 那麼徹底。Pip 可用於在 Conda 環境中安裝套件。

您可以使用 pip 替代套件儲存庫而不是 PyPI。有關生命週期腳本範例,請參閱 on-start.sh

支援的 pip 作業 (請參閱本主題底部的註釋)
  • 使用 pip 在沒有使用中 conda 環境的情況下安裝套件 (在系統整體安裝套件)

  • 使用 Pip 可在 Conda 環境中安裝套件

  • 使用 pip 在所有 conda 環境中安裝套件

  • 更改 pip 安裝位置以使用 EBS

  • 使用替代儲存庫搭配 pip 安裝套件

不支援

SageMaker 旨在支持盡可能多的軟件包安裝操作。不過,如果套件是由 SageMaker 或安裝DLAMI,而且您在這些套件上執行下列作業,可能會導致您的筆記型電腦執行個體不穩定:

  • 解除安裝

  • 降級

  • 升級

我們不提供透過 yum 安裝或從中安裝 R 套件來安裝套件的支援CRAN。

由於網路狀況或組態的潛在問題,或 Conda 的可用性 PyPi,或者我們無法保證套件會在固定或決定性的時間內安裝。

注意

我們無法保證成功安裝套件。嘗試在具有不相容相依性的環境中安裝套件可能會失敗。在這種情況下,您應該聯繫程式庫維護者,以確認是否可以更新套件相依性。或者,您可以嘗試以允許安裝的方式修改環境。然而,該項修改可能意味著移除或更新現有套件,這表示我們無法繼續保證此環境的穩定性。