本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用偵錯工具APIs執行您自己的自訂規則
下列程式碼範例示範如何使用 Amazon SageMaker Python SDK
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 規則評估器映像的清單自訂規則評估器URIs的 Amazon SageMaker Debugger 映像。 -
instance_type
(str):您需要指定執行個體來建置規則 Docker 容器。這會與訓練容器同時加速運轉執行個體。 -
source
(str):這是URI自訂規則指令碼的本機路徑或 Amazon S3。 -
rule_to_invoke
(str):這會指定自訂規則指令碼中的特定規則類別實作。 僅 SageMaker 支援在規則任務中一次評估一個規則。 -
collections_to_save
(str):這會指定要儲存哪些張量集合來執行規則。 -
rule_parameters
(字典):這會接受採字典格式的參數輸入。您可以調整自訂規則指令碼中設定的參數。
設定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()
有關使用偵錯器自訂規則的更多變化和進階範例,請參閱下列範例筆記本。