Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat Aturan Kustom Debugger untuk Training Job Analysis
Anda dapat membuat aturan khusus untuk memantau pekerjaan pelatihan Anda menggunakan API Aturan Debugger dan pustaka Python smdebug
Topik
Prasyarat untuk Membuat Aturan Kustom Debugger
Untuk membuat aturan kustom Debugger, Anda memerlukan prasyarat berikut.
Skrip python aturan kustom Anda sendiri
URL Registri Amazon SageMaker Debugger untuk Evaluator Aturan Kustom
Gunakan Pustaka Klien Debugger smdebug
untuk Membuat Skrip Python Aturan Kustom
smdebug
Rule API menyediakan antarmuka untuk mengatur aturan kustom Anda sendiri. Script python berikut adalah contoh bagaimana membangun aturan kustom,. CustomGradientRule
Aturan kustom tutorial ini mengawasi jika gradien menjadi terlalu besar dan menetapkan ambang default sebagai 10. Aturan khusus mengambil uji coba dasar yang dibuat oleh SageMaker estimator saat memulai pekerjaan pelatihan.
from smdebug.rules.rule import Rule class CustomGradientRule(Rule): def __init__(self, base_trial, threshold=10.0): super().__init__(base_trial) self.threshold = float(threshold) def invoke_at_step(self, step): for tname in self.base_trial.tensor_names(collection="gradients"): t = self.base_trial.tensor(tname) abs_mean = t.reduction_value(step, "mean", abs=True) if abs_mean > self.threshold: return True return False
Anda dapat menambahkan beberapa kelas aturan khusus sebanyak yang Anda inginkan dalam skrip python yang sama dan menerapkannya ke uji coba pekerjaan pelatihan apa pun dengan membuat objek aturan khusus di bagian berikut.
Gunakan API Debugger untuk Menjalankan Aturan Kustom Anda Sendiri
Contoh kode berikut menunjukkan cara mengonfigurasi aturan kustom dengan Amazon SageMaker Python
from sagemaker.debugger import Rule, CollectionConfig custom_rule = Rule.custom( name='MyCustomRule', image_uri='759209512951.dkr.ecr.us-west-2.amazonaws.com/sagemaker-debugger-rule-evaluator:latest', instance_type='ml.t3.medium', source='path/to/my_custom_rule.py', rule_to_invoke='CustomGradientRule', collections_to_save=[CollectionConfig("gradients")], rule_parameters={"threshold": "20.0"} )
Daftar berikut menjelaskan argumen Rule.custom
API Debugger.
-
name
(str): Tentukan nama aturan khusus yang Anda inginkan. -
image_uri
(str): Ini adalah gambar wadah yang memiliki logika untuk memahami aturan kustom Anda. Ini sumber dan mengevaluasi koleksi tensor tertentu yang Anda simpan dalam pekerjaan pelatihan. Anda dapat menemukan daftar gambar evaluator SageMaker aturan open source dariURL Registri Amazon SageMaker Debugger untuk Evaluator Aturan Kustom. -
instance_type
(str): Anda perlu menentukan instance untuk membangun wadah docker aturan. Ini memutar instance secara paralel dengan wadah pelatihan. -
source
(str): Ini adalah jalur lokal atau URI Amazon S3 ke skrip aturan kustom Anda. -
rule_to_invoke
(str): Ini menentukan implementasi kelas Aturan tertentu dalam skrip aturan kustom Anda. SageMaker hanya mendukung satu aturan untuk dievaluasi pada satu waktu dalam pekerjaan aturan. -
collections_to_save
(str): Ini menentukan koleksi tensor mana yang akan Anda simpan untuk menjalankan aturan. -
rule_parameters
(kamus): Ini menerima input parameter dalam format kamus. Anda dapat menyesuaikan parameter yang Anda konfigurasikan dalam skrip aturan kustom.
Setelah Anda mengatur custom_rule
objek, Anda dapat menggunakannya untuk membangun SageMaker estimator untuk pekerjaan pelatihan apa pun. Tentukan entry_point
skrip pelatihan Anda. Anda tidak perlu mengubah skrip pelatihan Anda.
from sagemaker.tensorflow import TensorFlow estimator = TensorFlow( role=sagemaker.get_execution_role(), base_job_name='smdebug-custom-rule-demo-tf-keras', entry_point='path/to/your_training_script.py' train_instance_type='ml.p2.xlarge' ... # debugger-specific arguments below rules = [custom_rule] ) estimator.fit()
Untuk lebih banyak variasi dan contoh lanjutan menggunakan aturan kustom Debugger, lihat contoh buku catatan berikut.