

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

# Utilizzo della libreria client `smdebug` per creare una regola personalizzata come script Python
<a name="debugger-custom-rules-python-script"></a>

L'API `smdebug` Rule fornisce un'interfaccia per configurare regole personalizzate. Il seguente script python è un esempio di come costruire una regola personalizzata `CustomGradientRule`. Questa regola personalizzata del tutorial controlla se i gradienti stanno diventando troppo grandi e imposta la soglia predefinita su 10. La regola personalizzata richiede una prova di base creata da uno stimatore di SageMaker intelligenza artificiale quando avvia il processo di formazione. 

```
from smdebug.rules.rule import Rule

class CustomGradientRule(Rule):
    def __init__(self, base_trial, threshold=10.0):
        super().__init__(base_trial)
        self.threshold = float(threshold)

    def invoke_at_step(self, step):
        for tname in self.base_trial.tensor_names(collection="gradients"):
            t = self.base_trial.tensor(tname)
            abs_mean = t.reduction_value(step, "mean", abs=True)
            if abs_mean > self.threshold:
                return True
        return False
```

È possibile aggiungere più classi di regole personalizzate quante ne si desidera nello stesso script Python e distribuirle in qualsiasi prova di processo di addestramento creando oggetti di regola personalizzati nella sezione seguente.