Visualisasikan tensor keluaran Amazon SageMaker Debugger di TensorBoard - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Visualisasikan tensor keluaran Amazon SageMaker Debugger di TensorBoard

penting

Halaman ini tidak digunakan lagi demi Amazon SageMaker AI dengan TensoBoard, yang memberikan TensorBoard pengalaman komprehensif yang terintegrasi dengan SageMaker Pelatihan dan fungsi kontrol akses domain AI. SageMaker Untuk mempelajari selengkapnya, lihat TensorBoard di Amazon SageMaker AI.

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 hemat 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 sesi SageMaker AI 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 TensorBoardOutputConfig API Debugger 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 Debugger APIs, lihat Debugger dan CollectionConfig di DebuggerHookConfig APIs Amazon Python SDK. SageMaker

  3. Buat estimator SageMaker AI dengan parameter Debugger yang melewati objek konfigurasi. Contoh template berikut menunjukkan cara membuat estimator SageMaker AI generik. Anda dapat mengganti estimator dan Estimator dengan kelas induk estimator kerangka kerja SageMaker AI lainnya dan kelas estimator. Estimator kerangka kerja SageMaker AI 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 file TAR untuk diunduh ke mesin lokal Anda.

    !tar -cf logs.tar logs
  8. Unduh dan ekstrak file Tensorboard TAR 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 TensorBoard TAR dan memuat file di notebook Jupyter di perangkat lokal Anda.

Animasi tentang cara mengunduh dan memuat TensorBoard file Debugger di mesin lokal Anda.