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à.
Utilizza le azioni integrate di Debugger per rispondere ai problemi rilevati da Regola del debugger. La classe rule_configs
di Debugger fornisce strumenti per configurare un elenco di azioni, tra cui l'interruzione automatica dei processi di addestramento e l'invio di notifiche tramite Amazon Simple Notification Service (Amazon SNS) quando le regole di Debugger rilevano problemi di addestramento. I seguenti argomenti illustrano i passaggi necessari per eseguire queste attività.
Argomenti
Configura Amazon SNS, crea un SMDebugRules
argomento e sottoscrivi l'argomento
Questa sezione spiega come configurare un argomento SMDebugRules
di Amazon SNS, iscriversi e confermare l'abbonamento per ricevere notifiche dalle regole di Debugger.
Nota
Per creare un argomento sulle regole SMDebug
-
Nel pannello di navigazione a sinistra, selezionare Topics (Argomenti).
-
Nella pagina Topics (Argomenti), seleziona Create new topic (Crea nuovo argomento).
-
Nella pagina Create topic (Crea argomento), nella sezione Details (Dettagli), eseguire queste operazioni:
-
Per Tipo, scegli Standard come tipo di argomento.
-
In Nome, inserisci
SMDebugRules
.
-
-
Salta tutte le altre impostazioni opzionali e scegli Crea argomento. Per ulteriori informazioni sulle impostazioni opzionali, consulta Creazione di un argomento Amazon SNS.
Per iscriverti all'argomento Regole SMDebug
-
Nel pannello di navigazione sinistro scegli Sottoscrizioni.
-
Nella pagina Sottoscrizioni scegli Crea sottoscrizione.
-
Nella pagina Crea sottoscrizione, nella sezione Dettagli, eseguire queste operazioni:
-
Per Argomento ARN, scegli l'argomento SMDebugRegole ARN. L'ARN deve avere il formato di
arn:aws:sns:<region-id>:111122223333:SMDebugRules
. -
Per Protocollo, seleziona -mail) o SMS.
-
Per Endpoint, inserisci il valore dell'endpoint, ad esempio un indirizzo e-mail o un numero di telefono a cui desideri ricevere notifiche.
Nota
Assicurati di digitare l'indirizzo e-mail e il numero di telefono corretti. I numeri di telefono devono includere
+
, un prefisso internazionale e un numero di telefono, senza caratteri o spazi speciali. Ad esempio, il numero di telefono +1 (222) 333-4444 è formattato come+12223334444
.
-
-
Salta tutte le altre impostazioni opzionali e scegli Crea abbonamento. Per ulteriori informazioni sulle impostazioni opzionali, consulta Abbonamento a un argomento Amazon SNS.
Dopo la sottoscrizione all'argomento SMDebugRegole, riceverai il seguente messaggio di conferma via e-mail o per telefono:

Per ulteriori informazioni su Amazon SNS, consulta Messaggi di testo mobili (SMS) e Notifiche e-mail nella Guida per gli sviluppatori di Amazon SNS.
Configura il tuo ruolo IAM per allegare le politiche richieste
In questa fase le policy richieste vengono aggiunte al ruolo IAM.
Per aggiungere le policy richieste al tuo ruolo IAM
Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel riquadro di navigazione a sinistra, seleziona Policy e Crea policy.
-
Nella pagina Crea policy, procedi come segue per creare una nuova policy sns-access:
-
Scegli la scheda JSON.
-
Incolla le stringhe JSON in grassetto nel codice seguente nella cartella
"Statement"
, sostituendo l'ID dell'account a 12 cifre con l'ID AWS dell'account. AWS{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "sns:Publish", "sns:CreateTopic", "sns:Subscribe" ], "Resource": "arn:aws:sns:*:
111122223333
:SMDebugRules" } ] } -
Nella parte inferiore della pagina, scegli Rivedi policy.
-
Nella pagina Review policy (Esamina policy), per Name (Nome), immettere
sns-access
. -
Nella parte inferiore della pagina, scegli Crea policy.
-
-
Torna alla console IAM e scegli Ruoli nel riquadro di navigazione a sinistra.
-
Cerca il ruolo IAM che usi per la formazione sui modelli di SageMaker intelligenza artificiale e scegli quel ruolo IAM.
-
Nella scheda Autorizzazioni della pagina Riepilogo, scegli Collega policy.
-
cerca la policy sns-access, seleziona la casella di controllo accanto alla policy, quindi scegli Collega policy.
Per altri esempi di configurazione delle policy IAM per Amazon SNS, consulta Esempi di casi per il controllo degli accessi Amazon SNS.
Configura le regole del debugger con le azioni integrate
Dopo aver completato con successo le impostazioni richieste nelle fasi precedenti, è possibile configurare le azioni integrate di Debugger per le regole di debug, come mostrato nello script di esempio seguente. È possibile scegliere quali azioni integrate utilizzare durante la creazione dell'oggetto elenco actions
. rule_configs
è un modulo di supporto che fornisce strumenti di alto livello per configurare le regole e le azioni integrate di Debugger. Le seguenti azioni integrate sono disponibili per Debugger:
-
rule_configs.StopTraining()
– Interrompe un processo di addestramento quando la regola di Debugger rileva un problema. -
rule_configs.Email("
– Invia una notifica via e-mail quando la regola di Debugger rileva un problema. Utilizza l'indirizzo e-mail che hai usato quando hai configurato l'abbonamento all'argomento SNS.abc@abc.com
") -
rule_configs.SMS("
– Invia una notifica via messaggio di testo quando la regola di Debugger rileva un problema. Utilizza il numero di telefono che hai usato quando hai configurato l'abbonamento all'argomento SNS.+1234567890
")Nota
Assicurati di digitare l'indirizzo e-mail e il numero di telefono corretti. I numeri di telefono devono includere
+
, un prefisso internazionale e un numero di telefono, senza caratteri o spazi speciali. Ad esempio, il numero di telefono +1 (222) 333-4444 è formattato come+12223334444
.
È possibile utilizzare tutte le azioni integrate o un sottoinsieme di azioni concludendo utilizzando il metodo rule_configs.ActionList()
, che esegue le azioni integrate e configura un elenco di azioni.
Per aggiungere tutte e tre le azioni predefinite a un'unica regola
Se desideri assegnare tutte e tre le azioni integrate a una singola regola, configura un elenco di azioni integrate in Debugger durante la creazione di uno strumento di valutazione. Usa il seguente modello per creare lo strumento di valutazione e Debugger interromperà i processi di addestramento e invierà notifiche tramite e-mail e messaggi di testo per tutte le regole che utilizzi per monitorare l'avanzamento del processo di addestramento.
from sagemaker.debugger import Rule, rule_configs
# Configure an action list object for Debugger rules
actions
= rule_configs.ActionList(
rule_configs.StopTraining()
,
rule_configs.Email("abc@abc.com")
,
rule_configs.SMS("+1234567890")
)
# Configure rules for debugging with the actions parameter
rules
= [
Rule.sagemaker(
base_config=rule_configs.built_in_rule
(), # Required
rule_parameters={"paramter_key
": value
}, # Optional
actions=actions
)
]
estimator = Estimator(
...
rules = rules
)
estimator.fit(wait=False)
Per creare più oggetti di azione integrati per assegnare azioni diverse a una singola regola
Se desideri assegnare le azioni integrate da attivare a diversi valori di soglia di una singola regola, puoi creare più oggetti di azione integrati come illustrato nello script seguente. Per evitare un errore di conflitto eseguendo la stessa regola, è necessario inviare nomi di processo di regola diversi (specificare stringhe diverse per l'attributo name
delle regole), come illustrato nel seguente modello di script di esempio. Questo esempio mostra come impostare StalledTrainingRule per eseguire due azioni diverse: inviare un'e-mail a abc@abc.com
quando un processo di addestramento si blocca per 60 secondi e interrompere il processo di addestramento se si blocca per 120 secondi.
from sagemaker.debugger import Rule, rule_configs
import time
base_job_name_prefix= 'smdebug-stalled-demo-' + str(int(time.time()))
# Configure an action object for StopTraining
action_stop_training
= rule_configs.ActionList(
rule_configs.StopTraining()
)
# Configure an action object for Email
action_email
= rule_configs.ActionList(
rule_configs.Email("abc@abc.com
")
)
# Configure a rule with the Email built-in action to trigger if a training job stalls for 60 seconds
stalled_training_job_rule_email
= Rule.sagemaker(
base_config=rule_configs.stalled_training_rule(),
rule_parameters={
"threshold": "60
",
"training_job_name_prefix": base_job_name_prefix
},
actions=action_email
)
stalled_training_job_rule_text.name="StalledTrainingJobRuleEmail
"
# Configure a rule with the StopTraining built-in action to trigger if a training job stalls for 120 seconds
stalled_training_job_rule
= Rule.sagemaker(
base_config=rule_configs.stalled_training_rule(),
rule_parameters={
"threshold": "120
",
"training_job_name_prefix": base_job_name_prefix
},
actions=action_stop_training
)
stalled_training_job_rule.name="StalledTrainingJobRuleStopTraining
"
estimator = Estimator(
...
rules = [stalled_training_job_rule_email
, stalled_training_job_rule
]
)
estimator.fit(wait=False)
Mentre il processo di addestramento è in esecuzione, l'azione integrata di Debugger invia e-mail e messaggi di testo di notifica ogni volta che la regola rileva problemi con il processo di addestramento. La schermata seguente mostra un esempio di notifica via e-mail per un processo di addestramento che presenta un problema relativo a un processo di addestramento bloccato.

La schermata seguente mostra un esempio di notifica di testo che Debugger invia quando la regola rileva un problema. StalledTraining

Considerazioni sull'utilizzo delle azioni integrate del Debugger
-
Per utilizzare le azioni integrate di Debugger, è necessaria una connessione Internet. Questa funzionalità non è supportata nella modalità di isolamento della rete fornita da Amazon SageMaker AI o Amazon VPC.
-
Le azioni integrate non possono essere utilizzate per Regole del profiler.
-
Le azioni integrate non possono essere utilizzate in processi di addestramento con interruzioni spot dell'addestramento.
-
Nelle notifiche via e-mail o SMS,
None
viene visualizzato alla fine dei messaggi. Questo non ha alcun significato, quindi puoi ignorare il testoNone
.