Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solución de problemas de Amazon SageMaker Pipelines
Al usar Amazon SageMaker Pipelines, es posible que tengas problemas por varios motivos. En este tema se proporciona información sobre errores habituales y cómo resolverlos.
Problemas con la definición de la canalización
Es posible que la definición de la canalización no tenga el formato correcto. Esto puede provocar que la ejecución produzca un error o que el trabajo no sea preciso. Estos errores se pueden detectar cuando se crea la canalización o cuando tiene lugar una ejecución. Si la definición no se valida, Canalizaciones devuelve un mensaje de error que identifica el carácter en el que el archivo JSON está mal formado. Para solucionar este problema, revisa los pasos creados con el SDK de Python para SageMaker IA para comprobar su precisión.
Solo puede incluir los pasos en una definición de canalización una vez. Por este motivo, los pasos no pueden existir como parte de un paso de condición y de una canalización en la misma canalización.
Examinar los registros de las canalizaciones
Puede ver el estado de los pasos con el comando siguiente:
execution.list_steps()
Cada paso incluye la siguiente información:
-
El ARN de la entidad lanzada por la canalización, como el ARN del trabajo de SageMaker IA, el ARN del modelo o el ARN del paquete del modelo.
-
El motivo del error incluye una breve explicación del error del paso.
-
Si el paso es un paso de condición, incluye si la condición se evalúa como verdadera o falsa.
-
Si la ejecución vuelve a utilizar una ejecución de un trabajo anterior,
CacheHit
muestra la ejecución de origen.
También puede ver los mensajes de error y los registros en la interfaz de Amazon SageMaker Studio. Para obtener información sobre cómo ver los registros en Studio, consulte Visualización de los detalles de la ejecución de una canalización.
Permisos ausentes
Se requieren los permisos correctos para el rol que crea la ejecución de la canalización y los pasos que crean cada uno de los trabajos de la ejecución de la canalización. Sin estos permisos, es posible que no pueda enviar la ejecución de su canalización o ejecutar sus trabajos de SageMaker IA según lo esperado. Para asegurarse de que los permisos estén configurados correctamente, consulte Administración de acceso de IAM.
Errores de ejecución del trabajo
Es posible que tengas problemas al ejecutar tus pasos debido a problemas en los scripts que definen la funcionalidad de tus trabajos de SageMaker IA. Cada trabajo tiene un conjunto de CloudWatch registros. Para ver estos registros desde Studio, consulteVisualización de los detalles de la ejecución de una canalización. Para obtener información sobre el uso de CloudWatch registros con SageMaker IA, consulteRegistra los grupos y las transmisiones que Amazon SageMaker AI envía a Amazon CloudWatch Logs.
Errores en el archivo de propiedades
Es posible que tenga problemas si implementa archivos de propiedades de forma incorrecta en la canalización. Para asegurarse de que la implementación de los archivos de propiedades funcione según lo previsto, consulte Transferencia de datos entre pasos.
Problemas al copiar el script al contenedor en el Dockerfile
Puede copiar el script al contenedor o pasarlo mediante el argumento entry_point
(de la entidad estimadora) o el argumento code
(de la entidad procesadora), como se muestra en el siguiente ejemplo de código.
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=(.*?);'} ], )