Debugger API を使って独自のカスタムルールを実行する - Amazon SageMaker AI

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

Debugger API を使って独自のカスタムルールを実行する

次のコードサンプルは、Amazon SageMaker Python SDK を使ってカスタムルールを設定する方法を示しています。この例では、前のステップで作成したカスタムルールスクリプトが「path/to/my_custom_rule.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"} )

次のリストでは、デバッガー Rule.custom API の引数について説明します。

  • name (str): 自由なカスタムルール名を指定します。

  • image_uri (str): これは、独自のカスタムルールを理解するロジックを持つコンテナのイメージです。トレーニングジョブで保存した指定されたテンソルコレクションを取得して評価します。オープンソースの SageMaker AI ルールエバリュエーターイメージのリストは、 から入手できますカスタムルール評価用の Amazon SageMaker Debugger イメージの URI

  • instance_type (str): ルール Docker コンテナを構築するためのインスタンスを指定する必要があります。これにより、トレーニングコンテナと並列でインスタンスがスピンアップされます。

  • source (str): これは、カスタムルールスクリプトへのローカルパスまたは Amazon S3 URI です。

  • rule_to_invoke (str): カスタムルールスクリプト内の特定のルールクラスの実装を指定します。SageMaker AI は、ルールジョブで一度に評価されるルールを 1 つだけサポートしています。

  • collections_to_save (str): ルールを実行するために保存するテンソルコレクションを指定します。

  • rule_parameters (dictionary): ディクショナリ形式のパラメータ入力を受け入れます。カスタムルールスクリプトで設定したパラメータを調整できます。

custom_rule オブジェクトを設定したら、任意のトレーニングジョブの SageMaker AI 推定器を構築するために使用できます。トレーニングスクリプトへの entry_point を指定します。トレーニングスクリプトを変更する必要はありません。

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()

デバッガーのカスタムルールを使うその他のバリエーションと高度な例については、次のサンプルノートブックを参照してください。