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.
Activación del almacenamiento en caché de pasos
Para activar el almacenamiento en caché de pasos, debe añadir una CacheConfig
propiedad a la definición del paso. CacheConfig
las propiedades utilizan el siguiente formato en el archivo de definición de canalización:
{ "CacheConfig": { "Enabled": false, "ExpireAfter": "<time>" } }
El campo Enabled
indica si el almacenamiento en caché está activado para un paso concreto. Puede configurar el campo entrue
, lo que indica que hay que SageMaker intentar buscar una ejecución anterior del paso con los mismos atributos. O bien, puede configurar el campo enfalse
, lo que indica que se debe SageMaker ejecutar el paso cada vez que se ejecute la canalización. ExpireAfter
es una cadena con un formato de duración ISO 8601ExpireAfter
puede ser un valor de año, mes, semana, día, hora o minuto. Cada valor consta de un número seguido de una letra que indica la unidad de duración. Por ejemplo:
-
“30d” = 30 días
-
“5y” = 5 años
-
“T16m” = 16 minutos
-
“30dT5h” = 30 días y 5 horas.
En la siguiente discusión se describe el procedimiento para activar el almacenamiento en caché para canalizaciones nuevas o preexistentes mediante Amazon Python. SageMaker SDK
Activación del almacenamiento en caché para nuevas canalizaciones
En el caso de canalizaciones nuevas, inicialice una instancia CacheConfig
con enable_caching=True
y proporcione esto como entrada al paso de canalización. En el siguiente ejemplo, se activa el almacenamiento en caché con un período de espera de 1 hora para un paso de entrenamiento:
from sagemaker.workflow.pipeline_context import PipelineSession from sagemaker.workflow.steps import CacheConfig cache_config = CacheConfig(enable_caching=True, expire_after="PT1H") estimator = Estimator(..., sagemaker_session=PipelineSession()) step_train = TrainingStep( name="TrainAbaloneModel", step_args=estimator.fit(inputs=inputs), cache_config=cache_config )
Activación del almacenamiento en caché para canalizaciones preexistentes
Para activar el almacenamiento en caché de las canalizaciones preexistentes y ya definidas, active la propiedad enable_caching
para el paso y establezca expire_after
en un valor de tiempo de espera. Por último, actualiza la canalización con pipeline.upsert()
o pipeline.update()
. Una vez que se ejecute de nuevo, el siguiente ejemplo de código activa el almacenamiento en caché con un período de espera de 1 hora para un paso de entrenamiento:
from sagemaker.workflow.pipeline_context import PipelineSession from sagemaker.workflow.steps import CacheConfig from sagemaker.workflow.pipeline import Pipeline cache_config = CacheConfig(enable_caching=True, expire_after="PT1H") estimator = Estimator(..., sagemaker_session=PipelineSession()) step_train = TrainingStep( name="TrainAbaloneModel", step_args=estimator.fit(inputs=inputs), cache_config=cache_config ) # define pipeline pipeline = Pipeline( steps=[step_train] ) # additional step for existing pipelines pipeline.update() # or, call upsert() to update the pipeline # pipeline.upsert()
Como alternativa, actualice la configuración de la caché una vez que haya definido la canalización (preexistente), lo que permitirá ejecutar el código de forma continua. En el siguiente ejemplo de código se muestra este método:
# turn on caching with timeout period of one hour pipeline.steps[0].cache_config.enable_caching = True pipeline.steps[0].cache_config.expire_after = "PT1H" # additional step for existing pipelines pipeline.update() # or, call upsert() to update the pipeline # pipeline.upsert()
Para obtener ejemplos de código más detallados y un análisis sobre cómo SDK los parámetros de Python afectan al almacenamiento en caché, consulte Configuración del almacenamiento en caché