Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Visualisasikan Tensor Output Amazon SageMaker Debugger di TensorBoard
penting
Halaman ini tidak digunakan lagi demi Amazon SageMaker dengan TensoBoard, yang memberikan TensorBoard pengalaman komprehensif yang terintegrasi dengan SageMaker Pelatihan dan fungsi kontrol akses domain. SageMaker Untuk mempelajari selengkapnya, lihat Gunakan TensorBoard untuk men-debug dan menganalisis pekerjaan pelatihan di Amazon SageMaker.
Gunakan SageMaker Debugger untuk membuat file tensor keluaran yang kompatibel dengannya. TensorBoard Muat file untuk memvisualisasikan TensorBoard dan menganalisis pekerjaan SageMaker pelatihan Anda. Debugger secara otomatis menghasilkan file tensor keluaran yang kompatibel dengannya. TensorBoard Untuk konfigurasi hook apa pun yang Anda sesuaikan untuk menyimpan tensor keluaran, Debugger memiliki fleksibilitas untuk membuat ringkasan skalar, distribusi, dan histogram yang dapat Anda impor. TensorBoard
![Diagram arsitektur mekanisme penghematan tensor keluaran Debugger.](images/debugger/debugger-tensorboard-concept.png)
Anda dapat mengaktifkan ini dengan meneruskan DebuggerHookConfig
dan TensorBoardOutputConfig
objek ke fileestimator
.
Prosedur berikut menjelaskan cara menyimpan skalar, bobot, dan bias sebagai tensor penuh, histogram, dan distribusi yang dapat divisualisasikan. TensorBoard Debugger menyimpannya ke jalur lokal wadah pelatihan (jalur defaultnya adalah/opt/ml/output/tensors
) dan disinkronkan ke lokasi Amazon S3 yang melewati objek konfigurasi keluaran Debugger.
Untuk menyimpan file tensor keluaran yang TensorBoard kompatibel menggunakan Debugger
-
Siapkan objek
tensorboard_output_config
konfigurasi untuk menyimpan TensorBoard output menggunakan kelas DebuggerTensorBoardOutputConfig
. Untuks3_output_path
parameter, tentukan bucket S3 default dari SageMaker sesi saat ini atau bucket S3 pilihan. Contoh ini tidak menambahkancontainer_local_output_path
parameter; sebagai gantinya, ini diatur ke jalur lokal default/opt/ml/output/tensors
.import sagemaker from sagemaker.debugger import TensorBoardOutputConfig bucket = sagemaker.Session().default_bucket() tensorboard_output_config = TensorBoardOutputConfig( s3_output_path='s3://{}'.format(bucket) )
Untuk informasi tambahan, lihat Debugger
TensorBoardOutputConfig
API di Amazon Python SageMaker. SDK -
Konfigurasikan hook Debugger dan sesuaikan nilai parameter hook. Misalnya, kode berikut mengonfigurasi kait Debugger untuk menyimpan semua output skalar setiap 100 langkah dalam fase pelatihan dan 10 langkah dalam fase validasi,
weights
parameter setiap 500 langkah (save_interval
nilai default untuk menyimpan koleksi tensor adalah 500), danbias
parameter setiap 10 langkah global hingga langkah global mencapai 500.from sagemaker.debugger import CollectionConfig, DebuggerHookConfig hook_config = DebuggerHookConfig( hook_parameters={ "train.save_interval": "100", "eval.save_interval": "10" }, collection_configs=[ CollectionConfig("weights"), CollectionConfig( name="biases", parameters={ "save_interval": "10", "end_step": "500", "save_histogram": "True" } ), ] )
Untuk informasi selengkapnya tentang konfigurasi DebuggerAPIs, lihat Debugger dan
CollectionConfig
diDebuggerHookConfig
APIs Amazon Python. SageMaker SDK -
Buat SageMaker estimator dengan parameter Debugger yang melewati objek konfigurasi. Contoh template berikut menunjukkan cara membuat SageMaker estimator generik. Anda dapat mengganti
estimator
danEstimator
dengan kelas induk SageMaker estimator kerangka kerja lain dan kelas estimator. Estimator SageMaker kerangka kerja yang tersedia untuk fungsi ini adalahTensorFlow
,PyTorch
, danMXNet
.from sagemaker.
estimator
importEstimator
estimator =Estimator
( ... # Debugger parameters debugger_hook_config=hook_config, tensorboard_output_config=tensorboard_output_config ) estimator.fit()estimator.fit()
Metode ini memulai pekerjaan pelatihan, dan Debugger menulis file tensor keluaran secara real time ke jalur keluaran Debugger S3 dan ke jalur keluaran S3. TensorBoard Untuk mengambil jalur keluaran, gunakan metode estimator berikut:-
Untuk jalur output Debugger S3, gunakan.
estimator.latest_job_debugger_artifacts_path()
-
Untuk jalur output TensorBoard S3, gunakan
estimator.latest_job_tensorboard_artifacts_path()
.
-
-
Setelah pelatihan selesai, periksa nama tensor keluaran yang disimpan:
from smdebug.trials import create_trial trial = create_trial(estimator.latest_job_debugger_artifacts_path()) trial.tensor_names()
-
Periksa data TensorBoard output di Amazon S3:
tensorboard_output_path=estimator.latest_job_tensorboard_artifacts_path() print(tensorboard_output_path) !aws s3 ls {tensorboard_output_path}/
-
Unduh data TensorBoard output ke instance notebook Anda. Misalnya, AWS CLI perintah berikut mengunduh TensorBoard file ke
/logs/fit
bawah direktori kerja saat ini dari instance notebook Anda.!aws s3 cp --recursive {tensorboard_output_path}
./logs/fit
-
Kompres direktori file ke TAR file untuk diunduh ke mesin lokal Anda.
!tar -cf logs.tar logs
-
Unduh dan ekstrak TAR file Tensorboard ke direktori di perangkat Anda, luncurkan server notebook Jupyter, buka buku catatan baru, dan jalankan aplikasi. TensorBoard
!tar -xf logs.tar %load_ext tensorboard %tensorboard --logdir logs/fit
Screenshot animasi berikut menggambarkan langkah 5 hingga 8. Ini menunjukkan cara mengunduh file Debugger dan memuat TensorBoard TAR file di notebook Jupyter di perangkat lokal Anda.
![Animasi tentang cara mengunduh dan memuat TensorBoard file Debugger di mesin lokal Anda.](images/debugger/debugger-tensorboard.gif)