デバッガーを使用して独自のカスタムルールAPIsを実行する - Amazon SageMaker

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

デバッガーを使用して独自のカスタムルールAPIsを実行する

次のコードサンプルは、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.customAPI引数について説明します。

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

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

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

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

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

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

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

custom_rule オブジェクトを設定したら、それを使用して任意のトレーニングジョブの SageMaker 推定器を構築できます。トレーニングスクリプトへの 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()

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