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' SageMaker esempio di AI Python SDK
Per eseguire un notebook autonomo utilizzando SageMaker Python SDK, è 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 le fasi di base per creare un processo del notebook on demand o pianificato e monitorarne l’esecuzione. Inoltre, fai riferimento alle sezioni seguenti se devi passare parametri al tuo processo del notebook o se devi connetterti ad Amazon EMR dal tuo notebook: in questi casi è necessaria una preparazione aggiuntiva del tuo notebook Jupyter. Puoi anche applicare i valori predefiniti a un sottoinsieme degli argomenti di NotebookJobStep, in modo da non doverli specificare ogni volta che crei una fase Processo del notebook.
Argomenti
Procedura per creare un processo del notebook
Puoi creare un processo del notebook che venga eseguito immediatamente o in base a una pianificazione. Le istruzioni seguenti descrivono entrambi i metodi.
Per pianificare un processo del notebook, procedi come descritto di seguito:
-
Crea un’istanza
NotebookJobStep. Per i dettagli sui parametri, consulta sagemaker.workflow.steps.NotebookJobStepNotebookJobStep. Come minimo, puoi fornire gli argomenti seguenti, come mostrato nel seguente frammento di codice: Importante
Se pianifichi il lavoro sul notebook utilizzando l'SDK SageMaker Python, puoi specificare solo determinate immagini per eseguire il lavoro sul notebook. Per ulteriori informazioni, consulta Vincoli di immagine per i lavori su notebook AI SageMaker Python SDK.
notebook_job_step = NotebookJobStep( input_notebook=input-notebook, image_uri=image-uri, kernel_name=kernel-name) -
Crea una pipeline utilizzando
NotebookJobStepcome fase singola, come mostrato nel seguente frammento:pipeline = Pipeline( name=pipeline-name, steps=[notebook_job_step], sagemaker_session=sagemaker-session, ) -
Esegui la pipeline on demand o, facoltativamente, pianifica le future esecuzioni della pipeline. Per avviare un’esecuzione immediata, utilizza il comando seguente:
execution = pipeline.start( parameters={...} )Facoltativamente, puoi pianificare un’esecuzione futura una tantum della pipeline o più esecuzioni a intervalli predeterminati. Specifica la pianificazione in
PipelineSchedule, quindi passa l’oggetto di pianificazione alla pipeline conput_triggers. Per ulteriori informazioni sulla pianificazione delle pipeline, consulta Pianifica una pipeline con SageMaker Python SDK.L’esempio seguente pianifica l’esecuzione una tantum della pipeline 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 successivo pianifica l’esecuzione della pipeline alle 10:15 UTC dell’ultimo venerdì di ogni mese 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]) -
(Facoltativo) Visualizza i lavori eseguiti sul notebook nella dashboard di SageMaker Notebook Jobs. I valori forniti per l’argomento
tagsnella fase Processo del notebook definiscono il modo in cui l’interfaccia utente di Studio acquisisce e visualizza il processo. Per ulteriori informazioni, consulta Visualizzazione dei processi del notebook nella dashboard dell’interfaccia utente di Studio.
Visualizzazione dei processi del notebook nella dashboard dell’interfaccia utente di Studio
I processi del notebook che crei come fasi della pipeline vengono visualizzati nella dashboard Processi del notebook di Studio se specifichi determinati tag.
Nota
Solo i lavori su notebook creati in Studio o in JupyterLab ambienti locali creano definizioni di job. Pertanto, se crei il tuo lavoro notebook con SageMaker Python SDK, non vedrai le definizioni dei lavori nella dashboard di Notebook Jobs. Tuttavia, puoi visualizzare i processi del notebook come descritto in Visualizza i processi relativi al notebook.
Puoi controllare quali membri del team possono visualizzare i tuoi processi del notebook con i seguenti tag:
-
Per visualizzare il notebook su tutti i profili utente o gli spazi 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 processo del notebook su un determinato profilo utente in un dominio, aggiungi i tag sia del profilo utente che del dominio. Di seguito viene riportato un esempio di tag del profilo utente:
-
chiave:
sagemaker:user-profile-name, valore:studio-user
-
-
Per visualizzare il processo del notebook in uno spazio, aggiungi i tag sia dello spazio che del dominio. Di seguito viene riportato un esempio di tag dello spazio:
-
chiave:
sagemaker:shared-space-name, valore:my-space-name
-
-
Se non colleghi alcun tag per il dominio, il profilo utente o lo spazio, l’interfaccia utente di Studio non mostra il processo del notebook creato dalla fase della pipeline. In questo caso, puoi visualizzare il job di addestramento sottostante nella relativa console oppure puoi visualizzarne lo stato nell’elenco delle esecuzioni della pipeline.
Dopo aver configurato i tag necessari per visualizzare i processi nella dashboard, consulta Visualizza i processi relativi al notebook per istruzioni su come visualizzare i processi e scaricare gli output.
Visualizzazione del grafo della pipeline in Studio
Poiché la fase del processo del notebook fa parte di una pipeline, puoi visualizzare il grafo della pipeline (DAG) in Studio. Nel grafo della pipeline, puoi visualizzare lo stato di esecuzione della pipeline e monitorarne il lineage. Per informazioni dettagliate, vedi Visualizzazione dei dettagli dell’esecuzione di una pipeline.
Passaggio dei parametri al notebook
Per passare i parametri al processo del notebook (con l’argomento parameters di NotebookJobStep), devi preparare il notebook di input per ricevere i parametri.
L’esecutore di processi del notebook basati su Papermill cerca una cella Jupyter a cui è applicato il tag parameters e applica i nuovi parametri o le sostituzioni dei parametri subito dopo questa cella. Per informazioni dettagliate, vedi Parametrizzare il notebook.
Dopo aver eseguito questa fase, passa i parametri a NotebookJobStep, come mostrato nell’esempio seguente:
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 cluster Amazon EMR nel notebook di input
Se ti connetti a un cluster Amazon EMR dal tuo notebook Jupyter in Studio, potresti dover modificare ulteriormente tale notebook. Consulta Connessione a un cluster Amazon EMR dal notebook se devi eseguire una di queste attività sul tuo notebook:
-
Passaggio dei parametri al comando di connessione Amazon EMR. Studio utilizza Papermill per eseguire notebook. Nei SparkMagic kernel, i parametri passati al comando di connessione Amazon EMR potrebbero non funzionare come previsto a causa del modo in cui Papermill trasmette le informazioni. SparkMagic
-
Passaggio delle credenziali utente a cluster Amazon EMR autenticati con Kerberos, LDAP o HTTP Basic Auth. Devi passare le credenziali utente tramite AWS Secrets Manager.
Configurazione delle opzioni predefinite
L' SageMaker SDK ti 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 sono role, s3_root_uri, s3_kms_key, volume_kms_key, subnets e security_group_ids. Utilizza il file di configurazione SageMaker AI per impostare i valori predefiniti per il passaggio. Per informazioni sul file di configurazione SageMaker AI, consulta Configurazione e utilizzo dei valori predefiniti con Python SageMaker SDK
Per configurare le impostazioni predefinite del processo del notebook, applica le nuove impostazioni predefinite alla sezione relativa al processo del notebook 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'