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 utilizar JsonGet
en un ConditionStep
para obtener la salida JSON directamente desde Amazon S3. El URI de Amazon S3 puede ser una función Std:Join
que contiene 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 JsonGet
con una ruta 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 salida de JSON. 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 archivo JSON de propiedades. Para obtener más información sobre la JsonPath notación, consulta 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 parámetro path
es el nombre del archivo JSON 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, agregue el property_file
a la condición que va a pasar al paso de condición, como se muestra en el siguiente ejemplo, para consultar el archivo JSON de la propiedad deseada mediante el parámetro json_path
.
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