

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh buku catatan dan contoh kode untuk mengonfigurasi aturan Debugger
<a name="debugger-built-in-rules-example"></a>

Di bagian berikut, buku catatan dan contoh kode tentang cara menggunakan aturan Debugger untuk memantau pekerjaan SageMaker pelatihan disediakan.

**Topics**
+ [Debugger built-in aturan contoh notebook](#debugger-built-in-rules-notebook-example)
+ [Kode contoh aturan bawaan debugger](#debugger-deploy-built-in-rules)
+ [Gunakan aturan bawaan Debugger dengan modifikasi parameter](#debugger-deploy-modified-built-in-rules)

## Debugger built-in aturan contoh notebook
<a name="debugger-built-in-rules-notebook-example"></a>

Contoh notebook berikut menunjukkan cara menggunakan aturan bawaan Debugger saat menjalankan pekerjaan pelatihan dengan Amazon AI: SageMaker 
+ [Menggunakan aturan bawaan SageMaker Debugger dengan TensorFlow](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/tensorflow_builtin_rule)
+ [Menggunakan aturan bawaan SageMaker Debugger dengan Pelatihan Spot Terkelola dan MXNet](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/mxnet_spot_training)
+ [Menggunakan aturan bawaan SageMaker Debugger dengan modifikasi parameter untuk analisis pekerjaan pelatihan waktu nyata dengan XGBoost](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-debugger/xgboost_realtime_analysis)

Saat menjalankan contoh buku catatan di SageMaker Studio, Anda dapat menemukan uji coba kerja pelatihan yang dibuat di tab **Daftar Eksperimen Studio**. Misalnya, seperti yang ditunjukkan pada gambar berikut, Anda dapat menemukan dan membuka jendela **Describe Trial Component** dari pekerjaan pelatihan Anda saat ini. Pada tab Debugger, Anda dapat memeriksa apakah aturan Debugger, `vanishing_gradient()` dan`loss_not_decreasing()`, memantau sesi pelatihan secara paralel. Untuk instruksi lengkap tentang cara menemukan komponen uji coba kerja pelatihan Anda di UI Studio, lihat [SageMaker Studio - View Experiments, Trials, dan Trial Components](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-tasks.html#studio-tasks-experiments).

![\[Gambar menjalankan pekerjaan pelatihan dengan aturan bawaan Debugger diaktifkan di Studio SageMaker\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/debugger/debugger-built-in-rule-studio.png)


Ada dua cara untuk menggunakan aturan bawaan Debugger di lingkungan SageMaker AI: menerapkan aturan bawaan saat disiapkan atau sesuaikan parameternya sesuai keinginan. Topik berikut menunjukkan cara menggunakan aturan bawaan dengan kode contoh.

## Kode contoh aturan bawaan debugger
<a name="debugger-deploy-built-in-rules"></a>

Contoh kode berikut menunjukkan cara mengatur aturan bawaan Debugger menggunakan metode ini`Rule.sagemaker`. Untuk menentukan aturan bawaan yang ingin Anda jalankan, gunakan operasi `rules_configs` API untuk memanggil aturan bawaan. Untuk menemukan daftar lengkap aturan bawaan Debugger dan nilai parameter default, lihat. [Daftar aturan bawaan Debugger](debugger-built-in-rules.md)

```
import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import Rule, CollectionConfig, rule_configs

# call built-in rules that you want to use.
built_in_rules=[ 
            Rule.sagemaker(rule_configs.vanishing_gradient())
            Rule.sagemaker(rule_configs.loss_not_decreasing())
]

# construct a SageMaker AI estimator with the Debugger built-in rules
sagemaker_estimator=TensorFlow(
    entry_point='directory/to/your_training_script.py',
    role=sm.get_execution_role(),
    base_job_name='debugger-built-in-rules-demo',
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.9.0",
    py_version="py39",

    # debugger-specific arguments below
    rules=built_in_rules
)
sagemaker_estimator.fit()
```

**catatan**  
Aturan bawaan Debugger berjalan secara paralel dengan pekerjaan pelatihan Anda. Jumlah maksimum wadah aturan bawaan untuk pekerjaan pelatihan adalah 20. 

[Untuk informasi selengkapnya tentang kelas aturan Debugger, metode, dan parameter, lihat kelas [Aturan SageMaker Debugger di](https://sagemaker.readthedocs.io/en/stable/api/training/debugger.html) Amazon Python SDK. SageMaker ](https://sagemaker.readthedocs.io/en/stable) 

Untuk menemukan contoh cara menyesuaikan parameter aturan Debugger, lihat bagian berikut[Gunakan aturan bawaan Debugger dengan modifikasi parameter](#debugger-deploy-modified-built-in-rules).

## Gunakan aturan bawaan Debugger dengan modifikasi parameter
<a name="debugger-deploy-modified-built-in-rules"></a>

Contoh kode berikut menunjukkan struktur aturan bawaan untuk menyesuaikan parameter. Dalam contoh ini, `stalled_training_rule` mengumpulkan koleksi `losses` tensor dari pekerjaan pelatihan di setiap 50 langkah dan tahap evaluasi di setiap 10 langkah. Jika proses pelatihan mulai terhenti dan tidak mengumpulkan output tensor selama 120 detik, pekerjaan pelatihan akan `stalled_training_rule` berhenti. 

```
import sagemaker
from sagemaker.tensorflow import TensorFlow
from sagemaker.debugger import Rule, CollectionConfig, rule_configs

# call the built-in rules and modify the CollectionConfig parameters

base_job_name_prefix= 'smdebug-stalled-demo-' + str(int(time.time()))

built_in_rules_modified=[
    Rule.sagemaker(
        base_config=rule_configs.stalled_training_rule(),
        rule_parameters={
                'threshold': '120',
                'training_job_name_prefix': base_job_name_prefix,
                'stop_training_on_fire' : 'True'
        }
        collections_to_save=[ 
            CollectionConfig(
                name="losses", 
                parameters={
                      "train.save_interval": "50"
                      "eval.save_interval": "10"
                } 
            )
        ]
    )
]

# construct a SageMaker AI estimator with the modified Debugger built-in rule
sagemaker_estimator=TensorFlow(
    entry_point='directory/to/your_training_script.py',
    role=sm.get_execution_role(),
    base_job_name=base_job_name_prefix,
    instance_count=1,
    instance_type="ml.p3.2xlarge",
    framework_version="2.9.0",
    py_version="py39",

    # debugger-specific arguments below
    rules=built_in_rules_modified
)
sagemaker_estimator.fit()
```