View a markdown version of this page

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

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

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

注記

Amazon SageMaker デバッガーは新規顧客に公開されなくなりました。既存のお客様は、サービスを通常どおり引き続き使用できます。 はデバッガーのセキュリティと可用性の向上に AWS 引き続き投資しますが、新機能を導入する予定はありません。詳細については、「デバッガーの可用性の変更」を参照してください。

次のコードサンプルは、Amazon SageMaker Python SDK を使ってカスタムルールを設定する方法を示しています。この例では、前のステップで作成したカスタムルールスクリプトが「path/to/my_custom_rule.py」にあることを前提としています。

from sagemaker.core.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.train import ModelTrainer from sagemaker.train.configs import SourceCode, Compute from sagemaker.core.helper.session_helper import get_execution_role model_trainer = ModelTrainer( role=get_execution_role(), base_job_name='smdebug-custom-rule-demo-tf-keras', source_code=SourceCode(entry_script='path/to/your_training_script.py'), compute=Compute(instance_type='ml.p2.xlarge'), ... # debugger-specific arguments below rules = [custom_rule] ) model_trainer.train()

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