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 mengonfigurasi kait Debugger
Bagian berikut menyediakan buku catatan dan contoh kode tentang cara menggunakan kait Debugger untuk menyimpan, mengakses, dan memvisualisasikan tensor keluaran.
Topik
Notebook contoh visualisasi tensor
Dua contoh notebook berikut menunjukkan penggunaan lanjutan Amazon SageMaker Debugger untuk memvisualisasikan tensor. Debugger memberikan pandangan transparan ke dalam pelatihan model pembelajaran mendalam.
-
Analisis Tensor Interaktif di SageMaker Studio Notebook dengan MXNet
Contoh notebook ini menunjukkan cara memvisualisasikan tensor yang disimpan menggunakan Amazon Debugger. SageMaker Dengan memvisualisasikan tensor, Anda dapat melihat bagaimana nilai tensor berubah saat melatih algoritme pembelajaran mendalam. Notebook ini mencakup pekerjaan pelatihan dengan jaringan saraf yang tidak dikonfigurasi dengan baik dan menggunakan Amazon SageMaker Debugger untuk mengumpulkan dan menganalisis tensor, termasuk gradien, keluaran aktivasi, dan bobot. Misalnya, plot berikut menunjukkan distribusi gradien lapisan konvolusional yang mengalami masalah gradien menghilang.
Notebook ini juga menggambarkan bagaimana pengaturan hiperparameter awal yang baik meningkatkan proses pelatihan dengan menghasilkan plot distribusi tensor yang sama.
-
Visualisasi dan Debugging Tensor dari Pelatihan Model MXNet
Contoh notebook ini menunjukkan cara menyimpan dan memvisualisasikan tensor dari pekerjaan pelatihan model MXNet Gluon menggunakan Amazon Debugger. SageMaker Ini menggambarkan bahwa Debugger diatur untuk menyimpan semua tensor ke bucket Amazon S3 dan mengambil output aktivasi untuk visualisasi. ReLu Gambar berikut menunjukkan visualisasi tiga dimensi dari output ReLu aktivasi. Skema warna diatur ke biru untuk menunjukkan nilai mendekati 0 dan kuning untuk menunjukkan nilai mendekati 1.
Dalam buku catatan ini,
TensorPlot
kelas yang diimpor daritensor_plot.py
dirancang untuk memplot jaringan saraf convolutional (CNNs) yang mengambil gambar dua dimensi untuk input.tensor_plot.py
Skrip yang disediakan dengan notebook mengambil tensor menggunakan Debugger dan memvisualisasikan. CNN Anda dapat menjalankan notebook ini di SageMaker Studio untuk mereproduksi visualisasi tensor dan mengimplementasikan model jaringan saraf convolutional Anda sendiri. -
Analisis Tensor Real-time di SageMaker Notebook dengan MXNet
Contoh ini memandu Anda dalam menginstal komponen yang diperlukan untuk memancarkan tensor dalam pekerjaan SageMaker pelatihan Amazon dan menggunakan API operasi Debugger untuk mengakses tensor tersebut saat pelatihan sedang berjalan. CNNModel gluon dilatih pada MNIST dataset Fashion. Saat pekerjaan sedang berjalan, Anda akan melihat bagaimana Debugger mengambil output aktivasi dari lapisan convolutional pertama dari masing-masing 100 batch dan memvisualisasikannya. Juga, ini akan menunjukkan kepada Anda bagaimana memvisualisasikan bobot setelah pekerjaan selesai.
Simpan tensor menggunakan koleksi bawaan Debugger
Anda dapat menggunakan koleksi tensor bawaan menggunakan CollectionConfig
API dan menyimpannya menggunakan. DebuggerHookConfig
API Contoh berikut menunjukkan cara menggunakan pengaturan default konfigurasi hook Debugger untuk membangun estimator. SageMaker TensorFlow Anda juga dapat menggunakan ini untukMXNet, PyTorch, dan XGBoost estimator.
catatan
Dalam contoh kode berikut, s3_output_path
parameter untuk DebuggerHookConfig
adalah opsional. Jika Anda tidak menentukannya, Debugger menyimpan tensor dis3://<output_path>/debug-output/
, di mana jalur keluaran default dari pekerjaan pelatihan. <output_path>
SageMaker Sebagai contoh:
"s3://sagemaker-us-east-1-111122223333/sagemaker-debugger-training-YYYY-MM-DD-HH-MM-SS-123/debug-output"
import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import DebuggerHookConfig, CollectionConfig # use Debugger CollectionConfig to call built-in collections collection_configs=[ CollectionConfig(name="weights"), CollectionConfig(name="gradients"), CollectionConfig(name="losses"), CollectionConfig(name="biases") ] # configure Debugger hook # set a target S3 bucket as you want sagemaker_session=sagemaker.Session() BUCKET_NAME=sagemaker_session.default_bucket() LOCATION_IN_BUCKET='debugger-built-in-collections-hook' hook_config=DebuggerHookConfig( s3_output_path='s3://{BUCKET_NAME}/{LOCATION_IN_BUCKET}'. format(BUCKET_NAME=BUCKET_NAME, LOCATION_IN_BUCKET=LOCATION_IN_BUCKET), collection_configs=collection_configs ) # construct a SageMaker TensorFlow estimator sagemaker_estimator=TensorFlow( entry_point='directory/to/your_training_script.py', role=sm.get_execution_role(), base_job_name='debugger-demo-job', instance_count=1, instance_type="
ml.p3.2xlarge
", framework_version="2.9.0
", py_version="py39
", # debugger-specific hook argument below debugger_hook_config=hook_config ) sagemaker_estimator.fit()
Untuk melihat daftar koleksi bawaan Debugger, lihat Debugger
Simpan tensor dengan memodifikasi koleksi bawaan Debugger
Anda dapat memodifikasi koleksi bawaan Debugger menggunakan operasi. CollectionConfig
API Contoh berikut menunjukkan cara men-tweak losses
koleksi bawaan dan membangun estimator. SageMaker TensorFlow Anda juga dapat menggunakan ini untukMXNet, PyTorch, dan XGBoost estimator.
import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import DebuggerHookConfig, CollectionConfig # use Debugger CollectionConfig to call and modify built-in collections collection_configs=[ CollectionConfig( name="losses", parameters={"save_interval": "50"})] # configure Debugger hook # set a target S3 bucket as you want sagemaker_session=sagemaker.Session() BUCKET_NAME=sagemaker_session.default_bucket() LOCATION_IN_BUCKET='debugger-modified-collections-hook' hook_config=DebuggerHookConfig( s3_output_path='s3://{BUCKET_NAME}/{LOCATION_IN_BUCKET}'. format(BUCKET_NAME=BUCKET_NAME, LOCATION_IN_BUCKET=LOCATION_IN_BUCKET), collection_configs=collection_configs ) # construct a SageMaker TensorFlow estimator sagemaker_estimator=TensorFlow( entry_point='directory/to/your_training_script.py', role=sm.get_execution_role(), base_job_name='debugger-demo-job', instance_count=1, instance_type="
ml.p3.2xlarge
", framework_version="2.9.0
", py_version="py39
", # debugger-specific hook argument below debugger_hook_config=hook_config ) sagemaker_estimator.fit()
Untuk daftar lengkap CollectionConfig
parameter, lihat Debugger CollectionConfig API
Simpan tensor menggunakan koleksi kustom Debugger
Anda juga dapat menyimpan jumlah tensor yang dikurangi alih-alih set tensor lengkap (misalnya, jika Anda ingin mengurangi jumlah data yang disimpan di bucket Amazon S3 Anda). Contoh berikut menunjukkan cara menyesuaikan konfigurasi kait Debugger untuk menentukan tensor target yang ingin Anda simpan. Anda dapat menggunakan ini untuk TensorFlow,, MXNet PyTorch, dan XGBoost estimator.
import sagemaker from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import DebuggerHookConfig, CollectionConfig # use Debugger CollectionConfig to create a custom collection collection_configs=[ CollectionConfig( name="custom_activations_collection", parameters={ "include_regex": "relu|tanh", # Required "reductions": "mean,variance,max,abs_mean,abs_variance,abs_max" }) ] # configure Debugger hook # set a target S3 bucket as you want sagemaker_session=sagemaker.Session() BUCKET_NAME=sagemaker_session.default_bucket() LOCATION_IN_BUCKET='debugger-custom-collections-hook' hook_config=DebuggerHookConfig( s3_output_path='s3://{BUCKET_NAME}/{LOCATION_IN_BUCKET}'. format(BUCKET_NAME=BUCKET_NAME, LOCATION_IN_BUCKET=LOCATION_IN_BUCKET), collection_configs=collection_configs ) # construct a SageMaker TensorFlow estimator sagemaker_estimator=TensorFlow( entry_point='directory/to/your_training_script.py', role=sm.get_execution_role(), base_job_name='debugger-demo-job', instance_count=1, instance_type="
ml.p3.2xlarge
", framework_version="2.9.0
", py_version="py39
", # debugger-specific hook argument below debugger_hook_config=hook_config ) sagemaker_estimator.fit()
Untuk daftar lengkap CollectionConfig
parameter, lihat Debugger CollectionConfig