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à.
Risoluzione dei problemi di Amazon SageMaker Pipelines
Quando usi Amazon SageMaker Pipelines, potresti riscontrare problemi per vari motivi. In questo argomento vengono fornite informazioni sugli errori comuni e su come risolverli.
Problemi relativi alla definizione della pipeline
La definizione della pipeline potrebbe essere formattata in modo errato. Ciò può comportare la mancata esecuzione o un’imprecisione nel processo. Tali errori possono essere rilevati quando viene creata la pipeline o quando si verifica un'esecuzione. Se la definizione non viene convalidata, Pipelines restituisce un messaggio di errore che identifica il carattere in cui il JSON file non è valido. Per risolvere questo problema, esamina i passaggi creati utilizzando SageMaker AI Python SDK per verificarne la precisione.
È possibile includere le fasi in una definizione di pipeline solo una volta. Per questo motivo, le fasi non possono esistere all’interno di una fase condizionale e di una pipeline nella stessa pipeline.
Esame dei file di log della pipeline
È possibile visualizzare lo stato delle tue fasi con il comando seguente:
execution.list_steps()
Ogni fase include le seguenti informazioni:
-
L'ARNentità lanciata dalla pipeline, ad esempio SageMaker AI job ARNARN, model o model package. ARN
-
Il motivo dell'errore comprende una breve spiegazione del mancato successo della fase.
-
Se si tratta di una fase condizionale, questa indica se la condizione viene valutata come vera o falsa.
-
Se l'esecuzione riutilizza un'esecuzione di un processo precedente,
CacheHit
elenca l'esecuzione di origine.
Puoi anche visualizzare i messaggi di errore e i log nell'interfaccia di Amazon SageMaker Studio. Per informazioni su come visualizzare i file di log in Studio, consulta Visualizza i dettagli dell'esecuzione di una pipeline.
Autorizzazioni mancanti
Sono necessarie le autorizzazioni corrette per il ruolo che crea l'esecuzione della pipeline e le fasi che creano ciascuno dei processi nell'esecuzione della pipeline. Senza queste autorizzazioni, potresti non essere in grado di inviare l'esecuzione della pipeline o eseguire i lavori di SageMaker intelligenza artificiale come previsto. Per garantire che le autorizzazioni siano configurate correttamente, consulta IAMGestione degli accessi.
Errori di esecuzione del processo
Potresti riscontrare problemi durante l'esecuzione dei passaggi a causa di problemi negli script che definiscono la funzionalità dei tuoi SageMaker lavori di intelligenza artificiale. Ogni lavoro ha una serie di CloudWatch log. Per visualizzare questi registri da Studio, consulta. Visualizza i dettagli dell'esecuzione di una pipeline Per informazioni sull'utilizzo dei CloudWatch log con SageMaker AI, consulta. Gruppi di log e stream inviati da Amazon SageMaker AI ad Amazon CloudWatch Logs
Errori dei file di proprietà
Potreste avere problemi in caso di implementazione errata dei file di proprietà nella tua pipeline. Per garantire che l'implementazione dei file di proprietà funzioni come previsto, consulta Passa i dati tra i passaggi.
Problemi durante la copia dello script nel contenitore nel Dockerfile
È possibile copiare lo script nel contenitore o passarlo tramite l'entry_point
argomento (dell'entità estimatore) o l'code
argomento (dell'entità del processore), come illustrato nel seguente esempio di codice.
step_process = ProcessingStep( name="PreprocessAbaloneData", processor=sklearn_processor, inputs = [ ProcessingInput( input_name='dataset', source=..., destination="/opt/ml/processing/code", ) ], outputs=[ ProcessingOutput(output_name="train", source="/opt/ml/processing/train", destination = processed_data_path), ProcessingOutput(output_name="validation", source="/opt/ml/processing/validation", destination = processed_data_path), ProcessingOutput(output_name="test", source="/opt/ml/processing/test", destination = processed_data_path), ], code=os.path.join(BASE_DIR, "process.py"), ## Code is passed through an argument cache_config = cache_config, job_arguments = ['--input', 'arg1'] ) sklearn_estimator = SKLearn( entry_point=os.path.join(BASE_DIR, "train.py"), ## Code is passed through the entry_point framework_version="0.23-1", instance_type=training_instance_type, role=role, output_path=model_path, # New sagemaker_session=sagemaker_session, # New instance_count=1, # New base_job_name=f"{base_job_prefix}/pilot-train", metric_definitions=[ {'Name': 'train:accuracy', 'Regex': 'accuracy_train=(.*?);'}, {'Name': 'validation:accuracy', 'Regex': 'accuracy_validation=(.*?);'} ], )