

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
<a name="pipelines-caching-enabling"></a>

Para activar el almacenamiento en caché de pasos, debe añadir una propiedad `CacheConfig` a la definición del paso. Las propiedades `CacheConfig` utilizan el siguiente formato en el archivo de definición de la 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 en`true`, lo que indica a la SageMaker IA que intente encontrar una ejecución anterior del paso con los mismos atributos. O bien, puedes configurar el campo en`false`, lo que indica a la SageMaker IA que ejecute el paso cada vez que se ejecute la canalización. `ExpireAfter`es una cadena en formato de [duración ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) que define el período de espera. La duración `ExpireAfter` 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 el siguiente análisis se describe el procedimiento para activar el almacenamiento en caché para canalizaciones nuevas o preexistentes mediante el SDK de Amazon Python SageMaker .

**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 los parámetros del SDK de Python afectan al almacenamiento en caché, consulte [Configuración del almacenamiento en caché](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.html#caching-configuration) en la documentación del SDK de Amazon SageMaker Python.