Impacchettare un modello (Boto3) - Amazon SageMaker AI

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à.

Impacchettare un modello (Boto3)

È possibile creare un processo di imballaggio di SageMaker Edge Manager con AWS SDK for Python (Boto3). Prima di continuare, assicurati di aver soddisfatto il Completamento dei prerequisiti.

Per richiedere un processo di creazione di pacchetti Edge, usa CreateEdgePackagingJob. Devi fornire un nome al tuo processo di edge packaging, il nome del tuo processo di compilazione SageMaker Neo, il tuo ruolo Amazon resource name (ARN), un nome per il tuo modello, una versione per il tuo modello e l'URI del bucket Amazon S3 in cui desideri archiviare l'output del tuo processo di packaging. Tieni presente che i nomi dei processi di packaging di Edge Manager e i nomi dei processi di compilazione SageMaker Neo fanno distinzione tra maiuscole e minuscole.

# Import AWS SDK for Python (Boto3) import boto3 # Create Edge client so you can submit a packaging job sagemaker_client = boto3.client("sagemaker", region_name='aws-region') sagemaker_client.create_edge_packaging_job( EdgePackagingJobName="edge-packaging-name", CompilationJobName="neo-compilation-name", RoleArn="arn:aws:iam::99999999999:role/rolename", ModelName="sample-model-name", ModelVersion="model-version", OutputConfig={ "S3OutputLocation": "s3://your-bucket/", } )

È possibile controllare lo stato di un processi di creazione di pacchetti edge utilizzando DescribeEdgePackagingJob e fornendo il nome del relativo processo con distinzione tra maiuscole e minuscole:

response = sagemaker_client.describe_edge_packaging_job( EdgePackagingJobName="edge-packaging-name")

Ciò restituisce un dizionario che può essere utilizzato per verificare lo stato del processo di creazione pacchetti:

# Optional - Poll every 30 sec to check completion status import time while True: response = sagemaker_client.describe_edge_packaging_job( EdgePackagingJobName="edge-packaging-name") if response['EdgePackagingJobStatus'] == 'Completed': break elif response['EdgePackagingJobStatus'] == 'Failed': raise RuntimeError('Packaging job failed') print('Packaging model...') time.sleep(30) print('Done!')

Per un elenco dei processi di creazione pacchetti, usa ListEdgePackagingJobs. È possibile utilizzare questa API per cercare un processo di creazione pacchetti specifico. Fornisci un nome parziale per filtrare i nomi dei processi di creazione pacchetti NameContains, un nome parziale affinché ModelNameContains filtri i processi in cui il nome del modello contiene il nome fornito. Specifica anche con quale colonna eseguire l'ordinamento con SortBy e in quale direzione eseguire l'ordinamento per SortOrder (Ascending o Descending).

sagemaker_client.list_edge_packaging_jobs( "NameContains": "sample", "ModelNameContains": "sample", "SortBy": "column-name", "SortOrder": "Descending" )

Per interrompere un processo di creazione pacchetti, usa StopEdgePackagingJob e fornisci il nome del tuo processo di creazione di pacchetti edge.

sagemaker_client.stop_edge_packaging_job( EdgePackagingJobName="edge-packaging-name" )

Per un elenco completo di Edge Manager APIs, consulta la documentazione di Boto3.