

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de la biblioteca cliente `smdebug` para crear una regla personalizada como script de Python
<a name="debugger-custom-rules-python-script"></a>

La API de reglas `smdebug` proporciona una interfaz para configurar sus propias reglas personalizadas. El siguiente script de Python es un ejemplo de cómo construir una regla personalizada, `CustomGradientRule`. Esta regla personalizada del tutorial comprueba si los gradientes se están haciendo demasiado grandes y establece el umbral predeterminado en 10. La regla personalizada utiliza una prueba base creada por un estimador de SageMaker IA cuando inicia el trabajo de entrenamiento. 

```
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
```

Puede añadir varias clases de reglas personalizadas tantas como desee en el mismo script de Python e implementarlas en cualquier prueba de trabajo de entrenamiento mediante la creación de objetos de reglas personalizadas en la siguiente sección.