

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Use o Debugger APIs para executar suas próprias regras personalizadas
<a name="debugger-custom-rules-python-sdk"></a>

O exemplo de código a seguir mostra como configurar uma regra personalizada com o SDK do [Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable). Este exemplo pressupõe que o script de regras personalizadas que você criou na etapa anterior esteja localizado em '*path/to/my\$1custom\$1rule.py*'.

```
from sagemaker.debugger import Rule, CollectionConfig

custom_rule = Rule.custom(
    name='MyCustomRule',
    image_uri='759209512951.dkr.ecr.us-west-2.amazonaws.com/sagemaker-debugger-rule-evaluator:latest', 
    instance_type='ml.t3.medium',     
    source='path/to/my_custom_rule.py', 
    rule_to_invoke='CustomGradientRule',     
    collections_to_save=[CollectionConfig("gradients")], 
    rule_parameters={"threshold": "20.0"}
)
```

A lista a seguir explica os argumentos da API Debugger `Rule.custom`.
+ `name` (str): especifique um nome de regra personalizado conforme desejar.
+ `image_uri` (str): essa é a imagem do contêiner que tem a lógica de entender sua regra personalizada. Ele fornece e avalia as coleções de tensores especificadas que você salva no trabalho de treinamento. Você pode encontrar a lista de imagens de avaliadores de regras de SageMaker IA de [Imagem do Amazon SageMaker Debugger URIs para avaliadores de regras personalizadas](debugger-reference.md#debuger-custom-rule-registry-ids) código aberto em.
+ `instance_type` (str): você precisa especificar uma instância para criar um contêiner docker de regras. Isso ativa a instância paralelamente a um contêiner de treinamento.
+ `source` (str): esse é o caminho local ou o URI do Amazon S3 para seu script de regras personalizado.
+ `rule_to_invoke`(str): Isso especifica a implementação específica da classe de regra em seu script de regra personalizado. SageMaker A IA suporta apenas uma regra a ser avaliada por vez em um trabalho de regra.
+ `collections_to_save` (str): isso especifica quais coleções de tensores você salvará para que a regra seja executada.
+ `rule_parameters` (dicionário): Isso aceita entradas de parâmetros em formato de dicionário. Você pode ajustar os parâmetros que você configurou no script de regra personalizada.

Depois de configurar o `custom_rule` objeto, você pode usá-lo para criar um estimador de SageMaker IA para qualquer trabalho de treinamento. Especifique o `entry_point` em seu script de treinamento. Não é necessário fazer nenhuma alteração no script de treinamento.

```
from sagemaker.tensorflow import TensorFlow

estimator = TensorFlow(
                role=sagemaker.get_execution_role(),
                base_job_name='smdebug-custom-rule-demo-tf-keras',
                entry_point='path/to/your_training_script.py'
                train_instance_type='ml.p2.xlarge'
                ...
                
                # debugger-specific arguments below
                rules = [custom_rule]
)

estimator.fit()
```

Para obter mais variações e exemplos avançados do uso das regras personalizadas do Debugger, consulte os seguintes exemplos de cadernos:
+ [Monitore seu trabalho de treinamento com as regras personalizadas do Amazon SageMaker Debugger](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/tensorflow_keras_custom_rule/tf-keras-custom-rule.html)
+ [PyTorch poda de modelo iterativo de e ResNet AlexNet](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/pytorch_iterative_model_pruning)
+ [Acione CloudWatch eventos da Amazon usando as regras do Debugger para realizar uma ação com base no status do treinamento com TensorFlow](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow_action_on_rule)