

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Activer la mise en cache des étapes
<a name="pipelines-caching-enabling"></a>

Pour activer la mise en cache des étapes, vous devez ajouter une propriété `CacheConfig` à la définition de l’étape. Les propriétés `CacheConfig` utilisent le format suivant dans le fichier de définition de pipeline :

```
{
    "CacheConfig": {
        "Enabled": false,
        "ExpireAfter": "<time>"
    }
}
```

Le champ `Enabled` indique si la mise en cache est activée pour l’étape en question. Vous pouvez définir le champ sur`true`, ce qui indique à SageMaker AI d'essayer de retrouver une exécution précédente de l'étape avec les mêmes attributs. Vous pouvez également définir le champ sur`false`, ce qui indique à SageMaker AI d'exécuter l'étape à chaque fois que le pipeline s'exécute. `ExpireAfter`est une chaîne au format de [durée ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) qui définit le délai d'expiration. La durée `ExpireAfter` peut être une année, un mois, une semaine, un jour, une heure ou une minute. Chaque valeur est constituée d'un nombre suivi d'une lettre indiquant l'unité de durée. Par exemple :
+ « 30d » = 30 jours
+ « 5y » = 5 ans
+ « T16m » = 16 minutes
+ « 30dT5h » = 30 jours et 5 heures.

La discussion suivante décrit la procédure d'activation de la mise en cache pour les pipelines nouveaux ou préexistants à l'aide du SDK Amazon SageMaker Python.

**Activer la mise en cache pour les nouveaux pipelines**

Pour les nouveaux pipelines, initialisez une instance `CacheConfig` avec `enable_caching=True` et fournissez-la en tant qu'entrée à l'étape de votre pipeline. L'exemple suivant active la mise en cache avec un délai d'expiration d'une heure pour une étape d'entraînement : 

```
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
)
```

**Activer la mise en cache pour les pipelines préexistants**

Pour activer la mise en cache pour les pipelines préexistants et déjà définis, activez la propriété `enable_caching` associée à l'étape et définissez `expire_after` sur une valeur de délai d'expiration. Enfin, mettez à jour le pipeline avec `pipeline.upsert()` ou `pipeline.update()`. Lorsque vous le réexécutez, l'exemple de code suivant active la mise en cache avec un délai d'expiration d'une heure pour une étape d'entraînement :

```
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()
```

Vous pouvez également mettre à jour la configuration du cache après avoir déjà défini le pipeline (préexistant), en autorisant l'exécution continue du code. L'exemple de code suivant illustre cette méthode :

```
# 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()
```

Pour des exemples de code plus détaillés et une discussion sur la façon dont les paramètres du SDK Python affectent la mise en cache, consultez la section [Configuration de la mise en cache](https://sagemaker.readthedocs.io/en/stable/amazon_sagemaker_model_building_pipeline.html#caching-configuration) dans la documentation du SDK Amazon SageMaker Python.