

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `smdebug` クライアントライブラリを使ってカスタムルールを Python スクリプトとして作成する
<a name="debugger-custom-rules-python-script"></a>

`smdebug` ルール API は、独自のカスタムルールを設定するためのインターフェイスを提供します。次の Python スクリプトは、カスタムルール `CustomGradientRule` の作成方法のサンプルです。このチュートリアルカスタムルールは、勾配が大きくなりすぎていないかどうかをモニタリングするもので、デフォルトのしきい値を 10 に設定しています。カスタムルールは、トレーニングジョブの開始時に SageMaker AI 推定器によって作成された基本トライアルを実行します。

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

次のセクションでカスタムルールオブジェクトを構築することで、同じ Python スクリプトに必要な数のカスタムルールクラスを追加し、どのトレーニングジョブトライアルにもデプロイできます。