Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Registrazione di parametri e parametri con Amazon Experiments SageMaker

Modalità Focus
Registrazione di parametri e parametri con Amazon Experiments SageMaker - Amazon SageMaker AI

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à.

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à.

Questa guida mostra come registrare parametri e metriche con Amazon SageMaker Experiments. Un esperimento di SageMaker intelligenza artificiale è composto da esecuzioni e ogni esecuzione è composta da tutti gli input, i parametri, le configurazioni e i risultati per un'interazione formativa basata su un singolo modello.

È possibile registrare parametri e metriche da una funzione remota utilizzando il decoratore @remote o l'API RemoteExecutor.

Per registrare i parametri e le metriche da una funzione remota, scegli uno dei metodi riportati di seguito:

  • Crea un'istanza di un esperimento di SageMaker intelligenza artificiale eseguito all'interno di una funzione remota utilizzando Run la libreria Experiments. SageMaker Per ulteriori informazioni, consulta Create an Amazon SageMaker AI Experiment.

  • Usa la load_run funzione all'interno di una funzione remota della libreria SageMaker AI Experiments. Questo caricherà un'istanza Run dichiarata al di fuori della funzione remota.

Le sezioni seguenti mostrano come creare e tracciare il lignaggio con le esecuzioni di esperimenti di SageMaker intelligenza artificiale utilizzando i metodi elencati in precedenza. Le sezioni descrivono anche i casi che non sono supportati dalla SageMaker formazione.

Usa il decoratore @remote per l'integrazione con SageMaker Experiments

Puoi creare un'istanza di un esperimento di SageMaker intelligenza artificiale o caricare un esperimento di intelligenza SageMaker artificiale corrente dall'interno di una funzione remota. Nelle sezioni seguenti viene illustrato come utilizzare entrambi i metodi.

Crea un esperimento con Experiments SageMaker

Puoi creare un esperimento eseguito in SageMaker AI Experiment. A tal fine, dovrai inoltrare il nome dell'esperimento, il nome dell'esecuzione e altri parametri alla funzione remota.

Il seguente esempio di codice importa il nome dell'esperimento, il nome dell'esecuzione e i parametri da registrare durante ogni esecuzione. I parametri param_1 e param_2 vengono registrati nel tempo all'interno di un ciclo di addestramento. I parametri comuni possono includere le dimensioni dei lotti o le epoche. In questo esempio, le metriche metric_a e metric_b vengono registrate per un'esecuzione nel tempo all'interno di un ciclo di addestramento. Altre metriche comuni possono includere accuracy o loss.

from sagemaker.remote_function import remote from sagemaker.experiments.run import Run # Define your remote function @remote def train(value_1, value_2, exp_name, run_name): ... ... #Creates the experiment with Run( experiment_name=exp_name, run_name=run_name, ) as run: ... #Define values for the parameters to log run.log_parameter("param_1", value_1) run.log_parameter("param_2", value_2) ... #Define metrics to log run.log_metric("metric_a", 0.5) run.log_metric("metric_b", 0.1) # Invoke your remote function train(1.0, 2.0, "my-exp-name", "my-run-name")

Carica SageMaker gli esperimenti attuali con un lavoro avviato dal decoratore @remote

Utilizzate la load_run() funzione della libreria SageMaker Experiments per caricare l'oggetto run corrente dal contesto di esecuzione. È inoltre possibile utilizzare la funzione load_run() all'interno della funzione remota. Carica l'oggetto di esecuzione inizializzato localmente dall'istruzione with sull'oggetto di esecuzione, come illustrato nel seguente esempio di codice.

from sagemaker.experiments.run import Run, load_run # Define your remote function @remote def train(value_1, value_2): ... ... with load_run() as run: run.log_metric("metric_a", value_1) run.log_metric("metric_b", value_2) # Invoke your remote function with Run( experiment_name="my-exp-name", run_name="my-run-name", ) as run: train(0.5, 1.0)

Carica un esperimento corrente eseguito all'interno di un processo avviato con l'API RemoteExecutor

Puoi anche caricare un esperimento di SageMaker intelligenza artificiale in corso se i tuoi lavori sono stati avviati con l'RemoteExecutorAPI. Il seguente esempio di codice mostra come utilizzare l'RemoteExecutorAPI con la load_run funzione SageMaker Experiments. Questa operazione viene eseguita per caricare un esperimento di SageMaker intelligenza artificiale in corso e acquisire le metriche del lavoro inviato daRemoteExecutor.

from sagemaker.experiments.run import Run, load_run def square(x): with load_run() as run: result = x * x run.log_metric("result", result) return result with RemoteExecutor( max_parallel_job=2, instance_type="ml.m5.large" ) as e: with Run( experiment_name="my-exp-name", run_name="my-run-name", ): future_1 = e.submit(square, 2)

Usi non supportati per SageMaker gli esperimenti durante l'annotazione del codice con un decoratore @remote

SageMaker L'intelligenza artificiale non supporta il passaggio Run di un oggetto di tipo a una funzione @remote o l'utilizzo di oggetti globali. Run I seguenti esempi mostrano il codice che genererà un SerializationError.

Il seguente esempio di codice tenta di trasmettere un oggetto tipo Run a un decoratore @remote e genera un errore.

@remote def func(run: Run): run.log_metrics("metric_a", 1.0) with Run(...) as run: func(run) ---> SerializationError caused by NotImplementedError

Il seguente esempio di codice tenta di utilizzare un oggetto run globale istanziato all'esterno della funzione remota. Nell'esempio di codice, la funzione train() è definita all'interno del contesto with Run, facendo riferimento a un oggetto di esecuzione globale dall'interno. Quando train() viene richiamato, genera un errore.

with Run(...) as run: @remote def train(metric_1, value_1, metric_2, value_2): run.log_parameter(metric_1, value_1) run.log_parameter(metric_2, value_2) train("p1", 1.0, "p2", 0.5) ---> SerializationError caused by NotImplementedError
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.