Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mempersiapkan pekerjaan pelatihan untuk mengumpulkan data TensorBoard keluaran
Pekerjaan pelatihan khas untuk pembelajaran mesin di SageMaker AI terdiri dari dua langkah utama: menyiapkan skrip pelatihan dan mengonfigurasi objek SageMaker AI ModelTrainer (sebelumnya estimator di PySDK v2) dari SageMaker AI Python SDK. Di bagian ini, Anda akan mempelajari tentang perubahan yang diperlukan untuk mengumpulkan TensorBoard-compatible data dari pekerjaan SageMaker pelatihan.
Prasyarat
Daftar berikut menunjukkan prasyarat untuk mulai menggunakan SageMaker AI dengan TensorBoard.
-
Domain SageMaker AI yang diatur dengan Amazon VPC di AWS akun Anda.
Untuk petunjuk tentang cara menyiapkan domain, lihat Memas ukkan ke domain SageMaker AI Amazon menggunakan pengaturan cepat. Anda juga perlu menambahkan profil pengguna domain untuk pengguna individu untuk mengakses SageMaker AI. TensorBoard Untuk informasi selengkapnya, lihat Tambahkan profil pengguna.
-
Amazon EFS harus diaktifkan di domain Anda. TensorBoard membutuhkan sistem file Amazon EFS untuk berfungsi. Untuk domain yang dibuat melalui pengaturan cepat setelah 1 Juni 2026, EFS tidak dibuat secara default selama pembuatan domain. Untuk mengaktifkan EFS setelah pembuatan domain, lihat Pem buatan Amazon EFS dan pemasangan otomatis di Amazon SageMaker Studio.
-
Amazon EFS harus diaktifkan di domain Anda. TensorBoard membutuhkan sistem file Amazon EFS untuk berfungsi. Untuk domain yang dibuat melalui pengaturan cepat setelah 1 Juni 2026, EFS tidak dibuat secara default selama pembuatan domain. Untuk mengaktifkan EFS setelah pembuatan domain, lihat Pem buatan Amazon EFS dan pemasangan otomatis di Amazon SageMaker Studio.
-
Daftar berikut adalah kumpulan izin minimum untuk digunakan TensorBoard pada SageMaker AI.
-
sagemaker:CreateApp -
sagemaker:DeleteApp -
sagemaker:DescribeTrainingJob -
sagemaker:Search -
s3:GetObject -
s3:ListBucket
-
Langkah 1: Ubah skrip pelatihan Anda dengan alat TensorBoard pembantu sumber terbuka
Pastikan Anda menentukan tensor dan skalar keluaran mana yang akan dikumpulkan, dan memodifikasi baris kode dalam skrip pelatihan Anda menggunakan salah satu alat berikut: TensorBoard X, Summary Writer, Sum TensorFlow mary Writer, PyTorch atau SageMaker Debugger.
Juga pastikan bahwa Anda menentukan jalur keluaran TensorBoard data sebagai direktori log (log_dir) untuk panggilan balik di wadah pelatihan.
Untuk informasi selengkapnya tentang panggilan balik per kerangka kerja, lihat sumber daya berikut.
-
Untuk PyTorch, gunakan torch.utils.tensorboard. SummaryWriter
. Lihat juga bagian Menggunakan TensorBoard sk PyTorch alar masuk dan Log dalam PyTorch tutorial. Atau, Anda dapat menggunakan TensorBoard X Summary Writer . LOG_DIR="/opt/ml/output/tensorboard" tensorboard_callback=torch.utils.tensorboard.writer.SummaryWriter(log_dir=LOG_DIR) -
Untuk TensorFlow, gunakan callback asli untuk, tf.keras.call TensorBoard backs. TensorBoard
. LOG_DIR="/opt/ml/output/tensorboard" tensorboard_callback=tf.keras.callbacks.TensorBoard( log_dir=LOG_DIR, histogram_freq=1) -
Untuk Transformers dengan PyTorch, Anda dapat menggunakan transformers.integrations. TensorBoardCallback
. Untuk Transformers dengan TensorFlow, gunakan
tf.keras.tensorboard.callback, dan berikan itu ke callback keras di transformer.Tip
Anda juga dapat menggunakan jalur output lokal kontainer yang berbeda. Namun, diLangkah 2: Buat ModelTrainer objek SageMaker pelatihan dengan konfigurasi TensorBoard output, Anda harus memetakan jalur dengan benar agar SageMaker AI berhasil mencari jalur lokal dan menyimpan TensorBoard data ke bucket keluaran S3.
-
Untuk panduan tentang memodifikasi skrip pelatihan menggunakan pust SageMaker aka Debugger Python, lihatMengadaptasi skrip pelatihan Anda untuk mendaftarkan hook.
Langkah 2: Buat ModelTrainer objek SageMaker pelatihan dengan konfigurasi TensorBoard output
Gunakan sagemaker.debugger.TensorBoardOutputConfig saat mengonfigurasi SageMaker AI ModelTrainer. API konfigurasi ini memetakan bucket S3 yang Anda tentukan untuk menyimpan TensorBoard data dengan jalur lokal di wadah pelatihan (/opt/ml/output/tensorboard). Meneruskan objek modul ke tensorboard_output_config parameter ModelTrainer kelas. Cuplikan kode berikut menunjukkan contoh mempersiapkan TensorFlow ModelTrainer dengan parameter konfigurasi TensorBoard keluaran.
catatan
Contoh ini mengasumsikan bahwa Anda menggunakan SageMaker Python SDK. Jika Anda menggunakan SageMaker API tingkat rendah, Anda harus menyertakan yang berikut ini ke sintaks permintaan CreateTrainingJob API.
"TensorBoardOutputConfig": { "LocalPath": "/opt/ml/output/tensorboard", "S3OutputPath": "s3_output_bucket" }
import os from sagemaker.train import ModelTrainer from sagemaker.train.configs import SourceCode from sagemaker.core.debugger import TensorBoardOutputConfig from sagemaker.train.configs import Compute # Set variables for training job information, # such as s3_out_bucket and other unique tags. ... LOG_DIR="/opt/ml/output/tensorboard" output_path = os.path.join( "s3_output_bucket", "sagemaker-output", "date_str", "your-training_job_name" ) tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=os.path.join(output_path, 'tensorboard'), container_local_output_path=LOG_DIR ) model_trainer = ModelTrainer( source_code=SourceCode(entry_script="train.py", source_dir="src"), role=role, training_image=image_uri, compute=Compute(instance_count=1, instance_type="ml.c5.xlarge"), base_job_name="your-training_job_name", tensorboard_output_config=tensorboard_output_config, hyperparameters=hyperparameters)
catatan
TensorBoard Aplikasi tidak menyediakan dukungan out-of-the-box untuk pekerjaan penyetelan hyperparameter SageMaker AI, karena CreateHyperParameterTuningJob API tidak terintegrasi dengan konfigurasi TensorBoard output untuk pemetaan. Untuk menggunakan TensorBoard aplikasi untuk pekerjaan penyetelan hyperparameter, Anda perlu menulis kode untuk mengunggah metrik ke Amazon S3 di skrip pelatihan Anda. Setelah metrik diunggah ke bucket Amazon S3, Anda kemudian dapat memuat bucket ke dalam TensorBoard aplikasi di SageMaker AI.