Visualisasikan Tensor Output Amazon SageMaker Debugger di TensorBoard - Amazon SageMaker

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.

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
  1. Siapkan objek tensorboard_output_config konfigurasi untuk menyimpan TensorBoard output menggunakan kelas DebuggerTensorBoardOutputConfig. Untuk s3_output_path parameter, tentukan bucket S3 default dari SageMaker sesi saat ini atau bucket S3 pilihan. Contoh ini tidak menambahkan container_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

  2. 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_intervalnilai default untuk menyimpan koleksi tensor adalah 500), dan bias 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 di DebuggerHookConfig APIs Amazon Python. SageMaker SDK

  3. Buat SageMaker estimator dengan parameter Debugger yang melewati objek konfigurasi. Contoh template berikut menunjukkan cara membuat SageMaker estimator generik. Anda dapat mengganti estimator dan Estimator 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 import Estimator 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, gunakanestimator.latest_job_tensorboard_artifacts_path().

  4. 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()
  5. 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}/
  6. 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
  7. Kompres direktori file ke TAR file untuk diunduh ke mesin lokal Anda.

    !tar -cf logs.tar logs
  8. 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.