

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>

Gunakan tindakan bawaan Debugger untuk menanggapi masalah yang ditemukan oleh. [Aturan debugger](debugger-built-in-rules.md#debugger-built-in-rules-Rule) `rule_configs`Kelas Debugger menyediakan alat untuk mengonfigurasi daftar tindakan, termasuk menghentikan tugas pelatihan secara otomatis dan mengirim notifikasi menggunakan Amazon Simple Notification Service (Amazon SNS) saat 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)
+ [

## Siapkan 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 Amazon SNS, lihat harga Amazon SNS [dan Amazon SNS](https://aws.amazon.com/sns/pricing/). FAQs](https://aws.amazon.com/sns/faqs/)

**Untuk membuat topik SMDebug Aturan**

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 setelan opsional lebih lanjut, lihat [Membuat topik Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html).

**Untuk berlangganan topik SMDebug Aturan**

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 topik **SMDebugAturan** ARN. ARN harus dalam format. `arn:aws:sns:<region-id>:111122223333:SMDebugRules`

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

   1. Untuk **Endpoint**, masukkan nilai endpoint, 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 atau spasi khusus. Misalnya, nomor telepon \$11 (222) 333-4444 diformat sebagai. **\$112223334444**

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

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

![\[Pesan email konfirmasi langganan untuk topik SMDebugAturan Amazon SNS.\]](http://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 [pemberitahuan Email di Panduan](https://docs.aws.amazon.com/sns/latest/dg/sns-email-notifications.html) Pengembang *Amazon SNS*.

## Siapkan 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. Tempel string JSON yang diformat dengan huruf tebal dalam kode berikut ke dalam`"Statement"`, ganti ID akun 12 digit dengan ID AWS akun Anda. AWS 

------
#### [ 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 tinjauan**.

   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 **Ringkasan**, pilih **Lampirkan kebijakan**.

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

Untuk lebih banyak contoh pengaturan 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 pada contoh skrip berikut. Anda dapat memilih tindakan bawaan mana yang akan digunakan saat membangun objek `actions` daftar. `rule_configs`Ini adalah modul pembantu yang menyediakan alat tingkat tinggi untuk mengonfigurasi aturan dan tindakan bawaan Debugger. Tindakan bawaan berikut tersedia untuk Debugger:
+ `rule_configs.StopTraining()`— Menghentikan pekerjaan pelatihan ketika 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 Anda.
+ `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 Anda.
**catatan**  
Pastikan Anda mengetik alamat email dan nomor telepon yang benar. Nomor telepon harus menyertakan`+`, kode negara, dan nomor telepon, tanpa karakter atau spasi khusus. Misalnya, nomor telepon \$11 (222) 333-4444 diformat sebagai. **\$112223334444**

Anda dapat menggunakan semua tindakan bawaan atau subset tindakan dengan membungkusnya 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 estimator. Gunakan template berikut untuk membuat estimator, 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.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
    )
]

estimator = Estimator(
    ...
    rules = rules
)

estimator.fit(wait=False)
```

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

Jika Anda ingin menetapkan tindakan bawaan yang akan dipicu pada nilai ambang batas yang berbeda dari satu aturan, Anda dapat membuat beberapa objek tindakan bawaan seperti yang ditunjukkan pada 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 pada contoh templat 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 berhenti selama 60 detik, dan menghentikan pekerjaan pelatihan jika berhenti selama 120 detik.

```
from sagemaker.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"

estimator = Estimator(
    ...
    rules = [stalled_training_job_rule_email, stalled_training_job_rule]
)

estimator.fit(wait=False)
```

Saat pekerjaan pelatihan sedang berjalan, tindakan bawaan Debugger mengirimkan email notifikasi 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 macet. 

![\[Contoh pemberitahuan email yang dikirim oleh Debugger saat mendeteksi masalah. StalledTraining\]](http://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 saat aturan menemukan masalah. StalledTraining 

![\[Contoh pemberitahuan teks yang dikirim oleh Debugger saat mendeteksi masalah. StalledTraining\]](http://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`.