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
Pour activer la mise en cache des étapes, vous devez ajouter une CacheConfig
propriété à la définition de l'étape. CacheConfig
les propriétés utilisent le format suivant dans le fichier de définition du 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 surtrue
, ce qui indique d' SageMaker essayer de retrouver une exécution précédente de l'étape avec les mêmes attributs. Vous pouvez également définir le champ surfalse
, qui indique d'exécuter l'étape SageMaker à chaque fois que le pipeline s'exécute. ExpireAfter
est une chaîne au format ISO8601 quiExpireAfter
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 d'Amazon Python SageMaker . SDK
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 SDK les paramètres Python affectent la mise en cache, consultez la section Configuration de la mise en cache dans la