

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

# Gunakan tindakan bawaan Debugger untuk aturan
<a name="debugger-built-in-actions"></a>

**catatan**  
Amazon SageMaker Debugger tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan seperti biasa. AWS terus berinvestasi dalam peningkatan keamanan dan ketersediaan untuk Debugger, tetapi kami tidak berencana untuk memperkenalkan fitur baru. Untuk informasi selengkapnya, lihat [Perubahan ketersediaan debugger](debugger-availability-change.md). 

Gunakan tindakan bawaan Debugger untuk menanggapi masalah yang ditemukan oleh[Aturan debugger](debugger-built-in-rules.md#debugger-built-in-rules-Rule). Kelas Debugger `rule_configs` menyediakan alat untuk mengonfigurasi daftar tindakan, termasuk menghentikan pekerjaan pelatihan secara otomatis dan mengirim pemberitahuan menggunakan Amazon Simple Notification Service (Amazon SNS) ketika aturan Debugger menemukan masalah pelatihan. Topik berikut membawa Anda melalui langkah-langkah untuk menyelesaikan tugas-tugas ini.

**Topics**
+ [Siapkan Amazon SNS, buat `SMDebugRules` topik, dan berlangganan topik](#debugger-built-in-actions-sns)
+ [Menyiapkan peran IAM Anda untuk melampirkan kebijakan yang diperlukan](#debugger-built-in-actions-iam)
+ [Konfigurasikan aturan Debugger dengan tindakan bawaan](#debugger-built-in-actions-on-rule)
+ [Pertimbangan untuk menggunakan tindakan bawaan Debugger](#debugger-built-in-actions-considerations)

## Siapkan Amazon SNS, buat `SMDebugRules` topik, dan berlangganan topik
<a name="debugger-built-in-actions-sns"></a>

Bagian ini memandu Anda melalui cara mengatur **SMDebugRules** topik Amazon SNS, berlangganan, dan mengonfirmasi langganan untuk menerima pemberitahuan dari aturan Debugger.

**catatan**  
Untuk informasi selengkapnya tentang penagihan untuk Amazon SNS, lihat [ Harga Amazon SNS ](https://aws.amazon.com/sns/pricing/) dan FAQ [ Amazon SNS. ](https://aws.amazon.com/sns/faqs/)

**Untuk membuat SMDebugRules topik**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon SNS di [ https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home).

1. Di panel navigasi kiri, pilih **Topics (Topik)**. 

1. Di halaman **Topics (Topik)**, pilih **Create topic (Buat topik)**.

1. Di halaman **Create topic (Buat topik)**, di bagian **Details (Detail)**, lakukan hal-hal berikut:

   1. Untuk ** Jenis**, pilih ** Standar ** untuk jenis topik.

   1. Di **Nama**, masukkan **SMDebugRules**.

1. Lewati semua pengaturan opsional lainnya dan pilih ** Buat topik**. Jika Anda ingin mempelajari lebih lanjut tentang pengaturan opsional, lihat [ Membuat topik ](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) Amazon SNS.

**Untuk berlangganan SMDebugRules topik **

1. Buka konsol Amazon SNS di [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home).

1. Di panel navigasi kiri, pilih **Subscriptions (Langganan)**. 

1. Di halaman **Subscriptions (Langganan)**, pilih **Create subscription (Buat langganan)**.

1. Di halaman **Create subscription (Buat langganan)**, di bagian **Details (Detail)**, lakukan: 

   1. Untuk ** Topik ARN**, pilih ** SMDebugRules ** topik ARN. ARN harus dalam format`arn:aws:sns:<region-id>:111122223333:SMDebugRules`.

   1. Untuk ** Protokol**, pilih ** Email ** atau ** SMS**. 

   1. Untuk ** Endpoint**, masukkan nilai titik akhir, seperti alamat email atau nomor telepon yang ingin Anda terima notifikasi.
**catatan**  
Pastikan Anda mengetik alamat email dan nomor telepon yang benar. Nomor telepon harus menyertakan`+`, kode negara, dan nomor telepon, tanpa karakter khusus atau spasi. Misalnya, nomor telepon \+1 (222) 333-4444 diformat sebagai. **\+12223334444**

1. Lewati semua pengaturan opsional lainnya dan pilih ** Buat langganan**. Jika Anda ingin mempelajari lebih lanjut tentang pengaturan opsional, lihat [ Berlangganan topik Amazon SNS. ](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)

Setelah Anda berlangganan ** SMDebugRules ** topik, Anda menerima pesan konfirmasi berikut di email atau melalui telepon:

![Pesan email konfirmasi langganan untuk SMDebugRules topik Amazon SNS.](https://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/debugger/debugger-built-in-action-subscription-confirmation.png)


Untuk informasi selengkapnya tentang Amazon SNS, lihat [ Pesan teks seluler (SMS) ](https://docs.aws.amazon.com/sns/latest/dg/sns-mobile-phone-number-as-subscriber.html) dan Pember [ itahuan email ](https://docs.aws.amazon.com/sns/latest/dg/sns-email-notifications.html) di Panduan Pengembang * Amazon SNS. *

## Menyiapkan peran IAM Anda untuk melampirkan kebijakan yang diperlukan
<a name="debugger-built-in-actions-iam"></a>

Pada langkah ini, Anda menambahkan kebijakan yang diperlukan ke peran IAM Anda.

**Untuk menambahkan kebijakan yang diperlukan ke peran IAM Anda**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [ https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi kiri, pilih ** Kebijakan**, dan pilih ** Buat kebijakan**.

1. Pada ** halaman ** Buat kebijakan, lakukan hal berikut untuk membuat kebijakan akses sns baru:

   1. Pilih tab **JSON**.

   1. Tempelkan string JSON yang diformat dengan huruf tebal dalam kode berikut ke dalam`"Statement"`, mengganti ID AWS akun 12 digit dengan ID AWS akun Anda.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "VisualEditor0",
                  "Effect": "Allow",
                  "Action": [
                      "sns:Publish",
                      "sns:CreateTopic",
                      "sns:Subscribe"
                  ],
                  "Resource": "arn:aws:sns:*:{{111122223333}}:SMDebugRules"
              }
          ]
      }
      ```

------

   1. Di bagian bawah halaman, pilih Kebijakan T ** injauan**.

   1. Pada halaman **Tinjau kebijakan**, untuk **Nama**, masukkan **sns-access**.

   1. Di bagian bawah halaman, pilih ** Buat kebijakan**.

1. Kembali ke konsol IAM, dan pilih Peran ** ** di panel navigasi kiri.

1. Cari peran IAM yang Anda gunakan untuk pelatihan model SageMaker AI dan pilih peran IAM itu.

1. Pada ** tab ** Izin pada ** halaman Ring ** kasan, pilih Lamp ** irkan kebijakan**.

1. Cari ** kebijakan ** akses sns, pilih kotak centang di sebelah kebijakan, lalu pilih Lamp ** irkan kebijakan. **

Untuk contoh lebih lanjut tentang menyiapkan kebijakan IAM untuk Amazon SNS, lihat [ Contoh kasus untuk kontrol akses Amazon SNS. ](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html)

## Konfigurasikan aturan Debugger dengan tindakan bawaan
<a name="debugger-built-in-actions-on-rule"></a>

Setelah berhasil menyelesaikan pengaturan yang diperlukan pada langkah-langkah sebelumnya, Anda dapat mengonfigurasi tindakan bawaan Debugger untuk aturan debugging seperti yang ditunjukkan dalam contoh skrip berikut. Anda dapat memilih tindakan bawaan mana yang akan digunakan saat membangun objek `actions` daftar. Ini `rule_configs` adalah modul pembantu yang menyediakan alat tingkat tinggi untuk mengkonfigurasi aturan dan tindakan bawaan Debugger. Tindakan bawaan berikut tersedia untuk Debugger:
+ `rule_configs.StopTraining()`— Menghentikan pekerjaan pelatihan saat aturan Debugger menemukan masalah.
+ `rule_configs.Email("{{abc@abc.com}}")`— Mengirim pemberitahuan melalui email ketika aturan Debugger menemukan masalah. Gunakan alamat email yang Anda gunakan saat mengatur langganan topik SNS.
+ `rule_configs.SMS("{{+1234567890}}")`— Mengirim pemberitahuan melalui pesan teks ketika aturan Debugger menemukan masalah. Gunakan nomor telepon yang Anda gunakan saat mengatur langganan topik SNS.
**catatan**  
Pastikan Anda mengetik alamat email dan nomor telepon yang benar. Nomor telepon harus menyertakan`+`, kode negara, dan nomor telepon, tanpa karakter khusus atau spasi. Misalnya, nomor telepon \+1 (222) 333-4444 diformat sebagai. **\+12223334444**

Anda dapat menggunakan semua tindakan bawaan atau subset tindakan dengan menyelesaikan menggunakan `rule_configs.ActionList()` metode, yang mengambil tindakan bawaan dan mengonfigurasi daftar tindakan.

**Untuk menambahkan ketiga tindakan bawaan ke satu aturan **

Jika Anda ingin menetapkan ketiga tindakan bawaan ke satu aturan, konfigurasikan daftar tindakan bawaan Debugger saat membuat ModelTrainer. Gunakan template berikut untuk membuat ModelTrainer, dan Debugger akan menghentikan pekerjaan pelatihan dan mengirim pemberitahuan melalui email dan teks untuk aturan apa pun yang Anda gunakan untuk memantau kemajuan pekerjaan pelatihan Anda.

```
from sagemaker.core.debugger import Rule, rule_configs

# Configure an action list object for Debugger rules
actions = rule_configs.ActionList(
    {{rule_configs.StopTraining()}}, 
    {{rule_configs.Email("abc@abc.com")}}, 
    {{rule_configs.SMS("+1234567890")}}
)

# Configure rules for debugging with the actions parameter
rules = [
    Rule.sagemaker(
        base_config=rule_configs.{{built_in_rule}}(),         # Required
        rule_parameters={"{{paramter_key}}": {{value}} },        # Optional
        actions=actions
    )
]

model_trainer = ModelTrainer(
    ...
    rules = rules
)

model_trainer.train()
```

**Untuk membuat beberapa objek tindakan bawaan untuk menetapkan tindakan yang berbeda ke satu aturan **

Jika Anda ingin menetapkan tindakan bawaan yang akan dipicu pada nilai ambang yang berbeda dari aturan tunggal, Anda dapat membuat beberapa objek tindakan bawaan seperti yang ditunjukkan dalam skrip berikut. Untuk menghindari kesalahan konflik dengan menjalankan aturan yang sama, Anda harus mengirimkan nama pekerjaan aturan yang berbeda (tentukan string yang berbeda untuk `name` atribut aturan) seperti yang ditunjukkan dalam contoh template skrip berikut. Contoh ini menunjukkan cara mengatur [StalledTrainingRule](debugger-built-in-rules.md#stalled-training) untuk mengambil dua tindakan berbeda: mengirim email ke `abc@abc.com` saat pekerjaan pelatihan terhenti selama 60 detik, dan menghentikan pekerjaan pelatihan jika terhenti selama 120 detik.

```
from sagemaker.core.debugger import Rule, rule_configs
import time

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

# Configure an action object for StopTraining
action_stop_training = rule_configs.ActionList(
    rule_configs.StopTraining()
)

# Configure an action object for Email
action_email = rule_configs.ActionList(
    rule_configs.Email("{{abc@abc.com}}")
)

# Configure a rule with the Email built-in action to trigger if a training job stalls for 60 seconds
stalled_training_job_rule_email = Rule.sagemaker(
        base_config=rule_configs.stalled_training_rule(),
        rule_parameters={
                "threshold": "{{60}}", 
                "training_job_name_prefix": base_job_name_prefix
        },
        actions=action_email
)
stalled_training_job_rule_text.name="{{StalledTrainingJobRuleEmail}}"

# Configure a rule with the StopTraining built-in action to trigger if a training job stalls for 120 seconds
stalled_training_job_rule = Rule.sagemaker(
        base_config=rule_configs.stalled_training_rule(),
        rule_parameters={
                "threshold": "{{120}}", 
                "training_job_name_prefix": base_job_name_prefix
        },
        actions=action_stop_training
)
stalled_training_job_rule.name="{{StalledTrainingJobRuleStopTraining}}"

model_trainer = ModelTrainer(
    ...
    rules = [stalled_training_job_rule_email, stalled_training_job_rule]
)

model_trainer.train()
```

Saat pekerjaan pelatihan sedang berjalan, tindakan bawaan Debugger mengirimkan email pemberitahuan dan pesan teks setiap kali aturan menemukan masalah dengan pekerjaan pelatihan Anda. Tangkapan layar berikut menunjukkan contoh pemberitahuan email untuk pekerjaan pelatihan yang memiliki masalah pekerjaan pelatihan yang terhenti. 

![Contoh pemberitahuan email yang dikirim oleh Debugger ketika mendeteksi StalledTraining masalah.](https://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/debugger/debugger-built-in-action-email.png)


Tangkapan layar berikut menunjukkan contoh pemberitahuan teks yang dikirim Debugger ketika aturan menemukan StalledTraining masalah.

![Contoh pemberitahuan teks yang dikirim oleh Debugger ketika mendeteksi StalledTraining masalah.](https://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/debugger/debugger-built-in-action-text.png)


## Pertimbangan untuk menggunakan tindakan bawaan Debugger
<a name="debugger-built-in-actions-considerations"></a>
+ Untuk menggunakan tindakan bawaan Debugger, koneksi internet diperlukan. Fitur ini tidak didukung dalam mode isolasi jaringan yang disediakan oleh Amazon SageMaker AI atau Amazon VPC.
+ Tindakan bawaan tidak dapat digunakan untuk[Aturan Profiler](debugger-built-in-profiler-rules.md#debugger-built-in-profiler-rules-ProfilerRule).
+ Tindakan bawaan tidak dapat digunakan pada pekerjaan pelatihan dengan gangguan pelatihan spot.
+ Dalam pemberitahuan email atau teks, `None` muncul di akhir pesan. Ini tidak memiliki arti apa pun, sehingga Anda dapat mengabaikan teks`None`.