Contoh buku catatan dan contoh kode untuk mengonfigurasi aturan Debugger - Amazon SageMaker

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

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

Debugger built-in aturan contoh notebook

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

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() danloss_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.

Gambar menjalankan pekerjaan pelatihan dengan aturan bawaan Debugger diaktifkan di Studio SageMaker

Ada dua cara untuk menggunakan aturan bawaan Debugger di SageMaker lingkungan: 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 metode iniRule.sagemaker. Untuk menentukan aturan bawaan yang ingin Anda jalankan, gunakan rules_configs API operasi untuk memanggil aturan bawaan. Untuk menemukan daftar lengkap aturan bawaan Debugger dan nilai parameter default, lihat. Daftar aturan bawaan Debugger

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 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 Amazon Python. SageMaker SDK

Untuk menemukan contoh cara menyesuaikan parameter aturan Debugger, lihat bagian berikutGunakan aturan bawaan Debugger dengan modifikasi parameter.

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 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 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()