Attivazione della memorizzazione nella cache delle fasi - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Attivazione della memorizzazione nella cache delle fasi

Per attivare la memorizzazione nella cache dei passaggi, è necessario aggiungere una CacheConfig proprietà alla definizione del passaggio. CacheConfigle proprietà utilizzano il seguente formato nel file di definizione della pipeline:

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

Il campo Enabled indica se la memorizzazione nella cache è attivata per la fase specifica. È possibile impostare il campo sutrue, che indica SageMaker di cercare di trovare un'esecuzione precedente del passaggio con gli stessi attributi. In alternativa, puoi impostare il campo sufalse, che indica di SageMaker eseguire il passaggio ogni volta che viene eseguita la pipeline. ExpireAfterè una stringa in formato di durata ISO 8601 che definisce il periodo di timeout. La durata ExpireAfter può essere un valore espresso in anni, mesi, settimane, giorni, ore o minuti. Ogni valore è costituito da un numero seguito da una lettera che indica l'unità di durata. Per esempio:

  • "30d" = 30 giorni

  • "5y" = 5 anni

  • "T16m" = 16 minuti

  • "30DT5h" = 30 giorni e 5 ore.

La discussione seguente descrive la procedura per attivare la memorizzazione nella cache per pipeline nuove o preesistenti utilizzando Amazon Python. SageMaker SDK

Attivazione della memorizzazione nella cache per nuove pipeline

Per le nuove pipeline, inizializza un'istanza CacheConfig con enable_caching=True e forniscila come input per la fase della pipeline. L'esempio seguente attiva la memorizzazione nella cache con un periodo di timeout di 1 ora per una fase di addestramento:

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 )

Attivazione della memorizzazione nella cache per pipeline preesistenti

Per attivare la memorizzazione nella cache per pipeline preesistenti e già definite, attiva la proprietà enable_caching per la fase e imposta un valore di timeout per expire_after. Infine, aggiorna la pipeline con pipeline.upsert() o pipeline.update(). Una volta eseguito di nuovo, il seguente esempio di codice attiva la memorizzazione nella cache con un periodo di timeout di 1 ora per una fase di addestramento:

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

In alternativa, aggiorna la configurazione della cache dopo aver già definito la pipeline (preesistente), consentendo l'esecuzione continua del codice. Il seguente esempio di codice illustra questo metodo:

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

Per esempi di codice più dettagliati e una discussione su come SDK i parametri Python influiscono sulla memorizzazione nella cache, consulta Caching Configuration nella documentazione di Amazon Python. SageMaker SDK