使用 LCC 指令碼自訂 SageMaker 筆記本執行個體 - Amazon SageMaker

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

使用 LCC 指令碼自訂 SageMaker 筆記本執行個體

重要

允許 Amazon SageMaker 工作室或 Amazon 工作 SageMaker 室經典版創建 Amazon SageMaker 資源的自定義 IAM 政策還必須授予許可才能向這些資源添加標籤。需要向資源添加標籤的權限,因為 Studio 和 Studio 經典版會自動標記它們創建的任何資源。如果 IAM 政策允許 Studio 和 Studio 經典版建立資源,但不允許標記,則在嘗試建立資源時可能會發生 AccessDenied "" 錯誤。如需詳細資訊,請參閱 提供標記資 SageMaker源的權限

AWS Amazon 的受管政策 SageMaker授予建立 SageMaker 資源的權限,已包含在建立這些資源時新增標籤的權限。

生命週期組態 (LCC) 提供的 shell 指令碼只會在您建立筆記型電腦執行個體時或每當您啟動時執行。當您建立筆記本執行個體時,您可以建立新的 LCC 或附加您已有的 LCC。生命週期組態指令碼適用於下列使用案例:

  • 在筆記本執行個體上安裝套件或範例筆記本

  • 設定筆記本執行個體的網路與安全性

  • 使用 shell 指令碼自訂筆記本執行個體

您也可以使用生命週期組態指令碼,從筆記本存取 AWS 服務。例如,您可以建立指令碼,讓您使用筆記本來控制其他 AWS 資源,例如 Amazon EMR 執行個體。

我們維護筆記本生命週期組態指令碼的公用儲存庫,以處理 https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples 上自訂筆記本執行個體的常見使用案例。

注意

每個指令碼限定最多只能包含 16384 個字元。

這兩個指令碼都可使用的 $PATH 環境變數的值是 /usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin。工作目錄 ($PWD 環境變數的值) 是 /

檢視記 CloudWatch 錄資料流中記錄群組中筆記本執行個體生命週期組/aws/sagemaker/NotebookInstances態的[notebook-instance-name]/[LifecycleConfigHook]記錄

指令碼無法執行超過 5 分鐘。如果指令碼執行超過 5 分鐘,就會開始故障,而無法建立或啟動筆記本執行個體。為了協助縮短指令碼的執行時間,請嘗試下列方法:

  • 削減必要步驟。例如,限制在哪些 conda 環境中安裝大型套件。

  • 在平行程序中執行任務。

  • 在您的指令碼中使用 nohup 命令。

您可以在 SageMaker 主控台中選擇生命週期組態,查看先前建立的筆記型電腦執行個體生命週期組態清單。您可以在建立新的筆記本執行個體時連接筆記本執行個體 LCC。如需建立筆記本執行個體的更多相關資訊,請參閱創建 Amazon SageMaker 筆記本實例

建立生命週期組態
  1. 請在以下位置開啟 SageMaker 主控台。 https://console.aws.amazon.com/sagemaker/

  2. 在左側導覽窗格中,選擇管理員組態

  3. 管理員組態下,選擇生命週期組態

  4. 生命週期組態頁面選擇筆記本執行個體索引標籤。

  5. 選擇建立組態

  6. 名稱 中,使用英數字元和 “-” 來輸入名稱,但不能輸入空格。名稱最多可使用 63 個字元。

  7. (選用) 若要建立指令碼,在您建立和每次啟動筆記本時執行,請選擇開始筆記本

  8. 開始筆記本編輯器中,輸入指令碼。

  9. (選用) 若要建立只執行一次的指令碼,在您建立筆記本時,請選擇建立筆記本

  10. 建立筆記本編輯器中,輸入指令碼設定聯網。

  11. 選擇建立組態