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.
Transferencia de datos entre pasos
Al crear canalizaciones con Amazon SageMaker Pipelines, es posible que necesite pasar los datos de un paso al siguiente. Por ejemplo, es posible que desee utilizar los artefactos del modelo generados por un paso de entrenamiento como entrada para un paso de evaluación del modelo o implementación. Puede usar esta funcionalidad para crear pasos de canalización interdependientes y crear sus flujos de trabajo de ML.
Cuando necesite recuperar información de la salida de un paso de la canalización, puede usar JsonGet
. JsonGet
le ayuda a extraer información de Amazon S3 o de archivos de propiedades. En las siguientes secciones, se explican los métodos que puede utilizar para extraer la salida de los pasos con JsonGet
.
Transferencia de datos entre pasos con Amazon S3
Puede usarlo JsonGet
en a ConditionStep
para obtener el JSON resultado directamente de Amazon S3. Amazon S3 URI puede ser una Std:Join
función que contenga cadenas primitivas, variables de ejecución de canalización o parámetros de canalización. El siguiente ejemplo muestra cómo puede utilizar JsonGet
en un ConditionStep
:
# Example json file in s3 bucket generated by a processing_step { "Output": [5, 10] } cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name="
<step-name>
", s3_uri="<s3-path-to-json>
", json_path="Output[1]" ), right=6.0 )
Si utiliza una ruta JsonGet
de Amazon S3 en el paso de condición, debe añadir explícitamente una dependencia entre el paso de condición y el paso que genera la JSON salida. En el siguiente ejemplo, el paso de condición se crea con una dependencia en el paso de procesamiento:
cond_step = ConditionStep( name="
<step-name>
", conditions=[cond_lte], if_steps=[fail_step], else_steps=[register_model_step], depends_on=[processing_step], )
Transferencia de datos entre pasos con archivos de propiedades
Use los archivos de propiedades para almacenar la información de la salida de un paso de procesamiento. Resulta particularmente útil cuando se analizan los resultados de un paso de procesamiento para decidir cómo se debe ejecutar un paso condicional. La JsonGet
función procesa un archivo de propiedades y le permite utilizar la JsonPath notación para consultar el JSON archivo de propiedades. Para obtener más información sobre la JsonPath notación, consulte el JsonPath repositorio
Para almacenar un archivo de propiedades para utilizarlo más adelante, primero debe crear una instancia PropertyFile
con el siguiente formato. El path
parámetro es el nombre del JSON archivo en el que se guarda el archivo de propiedades. Cualquier output_name
debe coincidir con el output_name
de la ProcessingOutput
que defina en el paso de procesamiento. Esto permite que el archivo de propiedades capture la ProcessingOutput
en el paso.
from sagemaker.workflow.properties import PropertyFile
<property_file_instance>
= PropertyFile( name="<property_file_name>
", output_name="<processingoutput_output_name>
", path="<path_to_json_file>
" )
Cuando cree la ProcessingStep
instancia, añada el property_files
parámetro para enumerar todos los archivos de parámetros que el servicio Amazon SageMaker Pipelines debe indexar. De este modo, se guarda el archivo de propiedades para utilizarse más adelante.
property_files=[
<property_file_instance>
]
Para usar el archivo de propiedades en un paso de condición, property_file
agréguelo a la condición que pase al paso de condición, como se muestra en el siguiente ejemplo, para consultar el JSON archivo de la propiedad que desee mediante el json_path
parámetro.
cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name=step_eval.name, property_file=
<property_file_instance>
, json_path="mse" ), right=6.0 )
Para ver ejemplos más detallados, consulte Property File