選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 SageMaker AI Python SDK 建立筆記本任務範例

焦點模式
使用 SageMaker AI Python SDK 建立筆記本任務範例 - Amazon SageMaker AI

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

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

若要使用 SageMaker Python SDK 執行獨立筆記本,您需要建立筆記本任務步驟,將其連接到管道,並使用管道提供的公用程式,隨需執行任務或選擇性地排程一或多個未來任務。下列各節說明建立隨需或排程筆記本任務和追蹤執行的基本步驟。此外,如果您需要將參數傳遞至筆記本任務或連線到筆記本中的 Amazon EMR,請參閱下列討論:在這些情況下,需要額外準備 Jupyter 筆記本。您也可以為 的引數子集套用預設值,NotebookJobStep因此您不必在每次建立筆記本任務步驟時指定這些引數。

若要檢視示範如何使用 SageMaker AI Python SDK 排程筆記本任務的範例筆記本,請參閱筆記本任務範例筆記本

建立筆記本任務的步驟

您可以建立立即執行的筆記本任務或排程執行的筆記本任務。下列指示說明這兩種方法。

若要排程筆記本任務,請完成下列基本步驟:
  1. 建立NotebookJobStep執行個體。如需NotebookJobStep參數的詳細資訊,請參閱 sagemaker.workflow.steps.NotebookJobStep。您至少可以提供下列引數,如下列程式碼片段所示:

    重要

    如果您使用 SageMaker Python SDK 排程筆記本任務,您只能指定特定映像來執行筆記本任務。如需詳細資訊,請參閱SageMaker AI Python SDK 筆記本任務的影像限制

    notebook_job_step = NotebookJobStep( input_notebook=input-notebook, image_uri=image-uri, kernel_name=kernel-name )
  2. 使用 NotebookJobStep做為單一步驟建立管道,如下列程式碼片段所示:

    pipeline = Pipeline( name=pipeline-name, steps=[notebook_job_step], sagemaker_session=sagemaker-session, )
  3. 隨需執行管道,或選擇性地排程未來的管道執行。若要啟動立即執行,請使用下列命令:

    execution = pipeline.start( parameters={...} )

    或者,您可以排程單一未來管道執行,或以預定間隔進行多次執行。您可以在 中指定排程,PipelineSchedule然後使用 將排程物件傳遞至管道put_triggers。如需管道排程的詳細資訊,請參閱使用 SageMaker Python SDK 排程管道

    下列範例會排程您的管道在 UTC 的 10:31:32 於 2023 年 12 月 12 日執行一次。

    my_schedule = PipelineSchedule( name="my-schedule“, at=datetime(year=2023, month=12, date=25, hour=10, minute=31, second=32) ) pipeline.put_triggers(triggers=[my_schedule])

    下列範例會將您的管道排程在 2022 年至 2023 年期間每個月最後一個星期五 UTC 上午 10:15 執行。如需 Cron 型排程的詳細資訊,請參閱 Cron 型排程

    my_schedule = PipelineSchedule( name="my-schedule“, cron="15 10 ? * 6L 2022-2023" ) pipeline.put_triggers(triggers=[my_schedule])
  4. (選用) 在 SageMaker 筆記本任務儀表板中檢視筆記本任務。您為筆記本任務步驟的tags引數提供的值會控制 Studio UI 如何擷取和顯示任務。如需詳細資訊,請參閱在 Studio UI 儀表板中檢視您的筆記本任務

在 Studio UI 儀表板中檢視您的筆記本任務

如果您指定特定標籤,則您建立做為管道步驟的筆記本任務會顯示在 Studio Notebook 任務儀表板中。

注意

只有 Studio 或本機 JupyterLab 環境中建立的筆記本任務才會建立任務定義。因此,如果您使用 SageMaker Python SDK 建立筆記本任務,則不會在筆記本任務儀表板中看到任務定義。不過,您可以檢視筆記本任務,如中所述檢視筆記本任務

您可以使用下列標籤來控制哪些團隊成員可以檢視筆記本任務:

  • 若要在網域中的所有使用者設定檔或空格中顯示筆記本,請使用您的網域名稱新增網域標籤。範例顯示如下:

    • 金鑰:sagemaker:domain-name,值: d-abcdefghij5k

  • 若要在網域中的特定使用者設定檔中顯示筆記本任務,請同時新增使用者設定檔和網域標籤。使用者設定檔標籤的範例如下所示:

    • 金鑰:sagemaker:user-profile-name,值: studio-user

  • 若要顯示筆記本任務到空間,請同時新增空間和網域標籤。空格標籤的範例如下所示:

    • 金鑰:sagemaker:shared-space-name,值: my-space-name

  • 如果您未連接任何網域或使用者設定檔或空間標籤,則 Studio UI 不會顯示管道步驟建立的筆記本任務。在這種情況下,您可以在訓練任務主控台中檢視基礎訓練任務,也可以在管道執行清單中檢視狀態。

設定必要的標籤以在儀表板中檢視任務後,請參閱 以取得如何檢視任務和下載輸出檢視筆記本任務的指示。

在 Studio 中檢視管道圖表

由於筆記本任務步驟是管道的一部分,因此您可以在 Studio 中檢視管道圖表 (DAG)。在管道圖表中,您可以檢視管道執行的狀態並追蹤譜系。如需詳細資訊,請參閱 檢視管道執行的詳細資訊

將參數傳遞至您的筆記本

如果您想要將參數傳遞至筆記本任務 (使用 的parameters引數NotebookJobStep),您需要準備輸入筆記本來接收參數。

以 Papermill 為基礎的筆記本任務執行器會搜尋以標籤標記的 Jupyter 儲存格,parameters並在此儲存格之後立即套用新參數或參數覆寫。如需詳細資訊,請參閱 對筆記本進行參數化

執行此步驟後,請將參數傳遞至 NotebookJobStep,如下列範例所示:

notebook_job_parameters = { "company": "Amazon" } notebook_job_step = NotebookJobStep( image_uri=image-uri, kernel_name=kernel-name, role=role-name, input_notebook=input-notebook, parameters=notebook_job_parameters, ... )

連線至輸入筆記本中的 Amazon EMR 叢集

如果您從 Studio 中的 Jupyter 筆記本連線至 Amazon EMR 叢集,您可能需要進一步修改 Jupyter 筆記本。請查看您從筆記本連線至 Amazon EMR 叢集是否需要在筆記本中執行下列任何任務:

  • 將參數傳遞到您的 Amazon EMR 連線命令。Studio 使用 Papermill 執行筆記本。在 SparkMagic 核心中,由於 Papermill 將資訊傳遞給 SparkMagic,您傳遞至 Amazon EMR 連線命令的參數可能無法如預期運作。

  • 將使用者憑證傳遞至經過 Kerberos、LDAP 或 HTTP 基本身分驗證的 Amazon EMR 叢集。您必須透過 傳遞使用者登入資料 AWS Secrets Manager。

設定預設選項

SageMaker AI SDK 可讓您選擇設定參數子集的預設值,因此您不必在每次建立NotebookJobStep執行個體時指定這些參數。這些參數為 roles3_root_uris3_kms_keysubnetsvolume_kms_keysecurity_group_ids。使用 SageMaker AI 組態檔案來設定步驟的預設值。如需 SageMaker AI 組態檔案的相關資訊,請參閱搭配 SageMaker Python SDK 設定和使用預設值。

若要設定筆記本任務預設值,請將新的預設值套用至組態檔案的筆記本任務區段,如下列程式碼片段所示:

SageMaker: PythonSDK: Modules: NotebookJob: RoleArn: 'arn:aws:iam::555555555555:role/IMRole' S3RootUri: 's3://amzn-s3-demo-bucket/my-project' S3KmsKeyId: 's3kmskeyid' VolumeKmsKeyId: 'volumekmskeyid1' VpcConfig: SecurityGroupIds: - 'sg123' Subnets: - 'subnet-1234'
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。