Crea un lavoro su notebook con l'esempio di SageMaker Python SDK - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea un lavoro su notebook con l'esempio di SageMaker Python SDK

Per eseguire un notebook autonomo utilizzando SageMaker SDK Python, è necessario creare un passaggio Notebook Job, collegarlo a una pipeline e utilizzare le utilità fornite da Pipelines per eseguire il lavoro su richiesta o, facoltativamente, pianificare uno o più lavori futuri. Le sezioni seguenti descrivono i passaggi di base per creare un processo notebook pianificato o su richiesta e tenere traccia dell'esecuzione. Inoltre, fai riferimento alla seguente discussione se hai bisogno di passare parametri al tuo lavoro sul notebook o connetterti ad Amazon dal tuo notebook: EMR in questi casi è necessaria una preparazione aggiuntiva del tuo notebook Jupyter. Puoi anche applicare i valori predefiniti per un sottoinsieme degli argomenti in NotebookJobStep modo da non doverli specificare ogni volta che crei un passaggio Notebook Job.

Per visualizzare alcuni taccuini di esempio che mostrano come pianificare i lavori dei notebook con SageMaker PythonSDK, consulta Notebooks di esempio per notebook job.

Passaggi per creare un lavoro su notebook

È possibile creare un lavoro su notebook che venga eseguito immediatamente o in base a una pianificazione. Le istruzioni seguenti descrivono entrambi i metodi.

Per pianificare un lavoro da notebook, completa i seguenti passaggi di base:
  1. Crea un'NotebookJobStepistanza. Per i dettagli sui NotebookJobStep parametri, vedete sagemaker.workflow.steps. NotebookJobStep. È possibile fornire almeno i seguenti argomenti, come illustrato nel seguente frammento di codice:

    Importante

    Se si pianifica il lavoro sul notebook utilizzando SageMaker PythonSDK, è possibile specificare solo determinate immagini per eseguire il lavoro sul notebook. Per ulteriori informazioni, consulta Vincoli di immagine per i lavori su notebook Python SageMaker SDK.

    notebook_job_step = NotebookJobStep( input_notebook=input-notebook, image_uri=image-uri, kernel_name=kernel-name )
  2. Crea una pipeline usando il tuo NotebookJobStep in un unico passaggio, come mostrato nel seguente frammento:

    pipeline = Pipeline( name=pipeline-name, steps=[notebook_job_step], sagemaker_session=sagemaker-session, )
  3. Esegui la pipeline su richiesta o, facoltativamente, pianifica le future esecuzioni della pipeline. Per avviare un'esecuzione immediata, utilizzate il seguente comando:

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

    Facoltativamente, puoi pianificare una singola esecuzione futura della pipeline o più esecuzioni a intervalli predeterminati. Specificate la pianificazione in PipelineSchedule e poi passate l'oggetto di pianificazione alla pipeline con. put_triggers Per ulteriori informazioni sulla pianificazione della pipeline, consulta. Pianifica una pipeline con Python SageMaker SDK

    L'esempio seguente pianifica l'esecuzione della pipeline una sola volta il 12 dicembre 2023 alle 10:31:32. UTC

    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])

    L'esempio seguente pianifica l'esecuzione della pipeline alle UTC 10:15 dell'ultimo venerdì di ogni mese negli anni dal 2022 al 2023. Per dettagli sulla pianificazione basata su CRON, consulta Pianificazioni basate su CRON.

    my_schedule = PipelineSchedule( name="my-schedule“, cron="15 10 ? * 6L 2022-2023" ) pipeline.put_triggers(triggers=[my_schedule])
  4. (Facoltativo) Visualizza i lavori relativi al notebook nella dashboard di SageMaker Notebook Jobs. I valori forniti per l'tagsargomento del passaggio Notebook Job controllano il modo in cui l'interfaccia utente di Studio acquisisce e visualizza il lavoro. Per ulteriori informazioni, consulta Visualizza i tuoi lavori su notebook nella dashboard dell'interfaccia utente di Studio.

Visualizza i tuoi lavori su notebook nella dashboard dell'interfaccia utente di Studio

I lavori notebook che crei come passaggi della pipeline vengono visualizzati nella dashboard di Studio Notebook Job se specifichi determinati tag.

Nota

Solo i lavori su notebook creati in Studio o in JupyterLab ambienti locali creano definizioni di lavoro. Pertanto, se crei il tuo lavoro notebook con SageMaker PythonSDK, non vedrai le definizioni dei lavori nella dashboard di Notebook Jobs. Tuttavia, è possibile visualizzare i lavori del notebook come descritto inVisualizza i processi relativi al notebook.

Puoi controllare quali membri del team possono visualizzare i tuoi lavori su notebook con i seguenti tag:

  • Per visualizzare il taccuino su tutti i profili o gli spazi utente di un dominio, aggiungi il tag di dominio con il tuo nome di dominio. Di seguito viene riportato un esempio:

    • chiave:sagemaker:domain-name, valore: d-abcdefghij5k

  • Per visualizzare il notebook job su un determinato profilo utente in un dominio, aggiungi sia il profilo utente che i tag di dominio. Di seguito è riportato un esempio di tag del profilo utente:

    • chiave:sagemaker:user-profile-name, valore: studio-user

  • Per visualizzare il lavoro del notebook in uno spazio, aggiungi sia lo spazio che i tag di dominio. Un esempio di tag space è mostrato come segue:

    • chiave:sagemaker:shared-space-name, valore: my-space-name

  • Se non alleghi alcun dominio o profilo utente o tag di spazio, l'interfaccia utente di Studio non mostra il lavoro del notebook creato dal passaggio della pipeline. In questo caso, puoi visualizzare il job di formazione sottostante nella console Training Job oppure puoi visualizzarne lo stato nell'elenco delle esecuzioni della pipeline.

Dopo aver impostato i tag necessari per visualizzare i lavori nella dashboard, consulta Visualizza i processi relativi al notebook le istruzioni su come visualizzare i lavori e scaricare gli output.

Visualizza il grafico della pipeline in Studio

Poiché la fase di lavoro del notebook fa parte di una pipeline, puoi visualizzare il grafico della pipeline (DAG) in Studio. Nel grafico della pipeline, è possibile visualizzare lo stato dell'esecuzione della pipeline e tracciare la derivazione. Per informazioni dettagliate, consultare Visualizza i dettagli dell'esecuzione di una pipeline.

Passare i parametri al notebook

Se volete passare dei parametri al vostro lavoro sul notebook (usando l'parametersargomento diNotebookJobStep), dovete preparare il notebook di input per ricevere i parametri.

L'esecutore di lavoro per notebook basato su Papermill cerca una cella Jupyter etichettata con il parameters tag e applica i nuovi parametri o le sostituzioni dei parametri immediatamente dopo questa cella. Per informazioni dettagliate, consultare Parametrizzare il notebook.

Dopo aver eseguito questo passaggio, passate i parametri al vostro, come mostrato nell'esempio seguente: 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, ... )

Connessione a un EMR cluster Amazon nel notebook di input

Se ti connetti a un EMR cluster Amazon dal tuo notebook Jupyter in Studio, potresti dover modificare ulteriormente il tuo notebook Jupyter. Verifica Connect a un EMR cluster Amazon dal tuo notebook se devi eseguire una delle seguenti attività sul tuo notebook:

  • Passa i parametri nel tuo comando di EMR connessione Amazon. Studio utilizza Papermill per eseguire notebook. Nei SparkMagic kernel, i parametri che passi al tuo comando di EMR connessione Amazon potrebbero non funzionare come previsto a causa del modo in cui Papermill trasmette le informazioni. SparkMagic

  • Trasferimento delle credenziali utente a Kerberos o a cluster LDAP Amazon con HTTP autenticazione di base. EMR È necessario passare le credenziali utente tramite. AWS Secrets Manager

Imposta le opzioni predefinite

Ti SageMaker SDK offre la possibilità di impostare i valori predefiniti per un sottoinsieme di parametri in modo da non dover specificare questi parametri ogni volta che crei un'istanza. NotebookJobStep Questi parametri sonorole,, s3_root_uri s3_kms_keyvolume_kms_key, subnets e. security_group_ids Utilizzate il file di SageMaker configurazione per impostare i valori predefiniti per il passo. Per informazioni sul file di SageMaker configurazione, consulta Configurazione e utilizzo dei valori predefiniti con Python. SageMaker SDK .

Per configurare le impostazioni predefinite del notebook job, applica le nuove impostazioni predefinite alla sezione Notebook Job del file di configurazione, come mostrato nel seguente frammento:

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'