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. CacheConfig
le 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 8601ExpireAfter
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