View a markdown version of this page

Contoh notebook dan contoh kode untuk mengkonfigurasi aturan Debugger - Amazon SageMaker AI

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

Contoh notebook dan contoh kode untuk mengkonfigurasi aturan Debugger

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.

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

Notebook contoh aturan bawaan Debugger

Contoh buku catatan berikut menunjukkan cara menggunakan aturan bawaan Debugger saat menjalankan tugas pelatihan dengan Amazon SageMaker AI:

Saat menjalankan contoh buku catatan di SageMaker Studio, Anda dapat menemukan uji coba pekerjaan pelatihan yang dibuat di tab Daftar Eksperimen Studio. Misalnya, seperti yang ditunjukkan pada tangkapan layar berikut, Anda dapat menemukan dan membuka jendela Deskripsi Kompon en Uji Coba dari pekerjaan pelatihan Anda saat ini. Pada tab Debugger, Anda dapat memeriksa apakah aturan Debugger, vanishing_gradient() danloss_not_decreasing(), memantau sesi pelatihan secara paralel. Untuk instruksi lengkap tentang cara menemukan komponen uji coba pekerjaan pelatihan Anda di UI Studio, lihat SageMaker Studio - Lihat Eksperimen, Uji Coba, dan Komponen Uji Coba.

Gambar menjalankan tugas pelatihan dengan aturan bawaan Debugger yang diaktifkan di SageMaker Studio.

Ada dua cara 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

Contoh kode berikut menunjukkan cara mengatur aturan bawaan Debugger menggunakan Rule.sagemaker metode ini. 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, lihatDaftar aturan bawaan Debugger.

import boto3 import sagemaker from sagemaker.train import ModelTrainer from sagemaker.core.debugger import Rule, CollectionConfig, rule_configs from sagemaker.core.helper.session_helper import get_execution_role built_in_rules=[ Rule.sagemaker(rule_configs.vanishing_gradient()), Rule.sagemaker(rule_configs.loss_not_decreasing()) ] from sagemaker.core import image_uris from sagemaker.train.configs import SourceCode, Compute training_image = image_uris.retrieve( framework="tensorflow", region=boto3.Session().region_name, version="2.9.0", py_version="py39", instance_type="ml.p3.2xlarge", image_scope="training" ) # construct a SageMaker AI ModelTrainer with the Debugger built-in rules sagemaker_model_trainer=ModelTrainer( training_image=training_image, source_code=SourceCode(entry_script='directory/to/your_training_script.py'), role=get_execution_role(), base_job_name='debugger-built-in-rules-demo', compute=Compute(instance_type="ml.p3.2xlarge", instance_count=1), # debugger-specific arguments below rules=built_in_rules ) sagemaker_model_trainer.train()
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 A SageMaker turan Debugger di Amazon SageMaker Python SDK.

Untuk menemukan contoh bagaimana menyesuaikan parameter aturan Debugger, lihat Gunakan aturan bawaan Debugger dengan modifikasi parameter bagian berikut.

Gunakan aturan bawaan Debugger dengan modifikasi parameter

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

import boto3 import time import sagemaker from sagemaker.train import ModelTrainer from sagemaker.core.debugger import Rule, CollectionConfig, rule_configs from sagemaker.core.helper.session_helper import get_execution_role # 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" } ) ] ) ] from sagemaker.core import image_uris from sagemaker.train.configs import SourceCode, Compute training_image = image_uris.retrieve( framework="tensorflow", region=boto3.Session().region_name, version="2.9.0", py_version="py39", instance_type="ml.p3.2xlarge", image_scope="training" ) # construct a SageMaker AI ModelTrainer with the modified Debugger built-in rule sagemaker_model_trainer=ModelTrainer( training_image=training_image, source_code=SourceCode(entry_script='directory/to/your_training_script.py'), role=get_execution_role(), base_job_name=base_job_name_prefix, compute=Compute(instance_type="ml.p3.2xlarge", instance_count=1), # debugger-specific arguments below rules=built_in_rules_modified ) sagemaker_model_trainer.train()