Mempersiapkan pekerjaan pelatihan untuk mengumpulkan data TensorBoard output - Amazon SageMaker

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 output

Pekerjaan pelatihan khas untuk pembelajaran mesin SageMaker terdiri dari dua langkah utama: menyiapkan skrip pelatihan dan mengkonfigurasi objek SageMaker estimator Python SageMaker . SDK Di bagian ini, Anda akan mempelajari tentang perubahan yang diperlukan untuk mengumpulkan data TensorBoard yang kompatibel dari pekerjaan SageMaker pelatihan.

Prasyarat

Daftar berikut menunjukkan prasyarat untuk mulai menggunakan dengan. SageMaker TensorBoard

  • SageMaker Domain yang disiapkan dengan Amazon VPC di AWS akun Anda.

    Untuk petunjuk cara menyiapkan domain, lihat Onboard to Amazon SageMaker domain menggunakan penyiapan cepat. Anda juga perlu menambahkan profil pengguna domain untuk pengguna individu untuk mengakses TensorBoard on SageMaker. Untuk informasi selengkapnya, lihat Tambahkan profil pengguna.

  • Daftar berikut adalah set minimum izin untuk digunakan TensorBoard pada SageMaker.

    • 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 ubah baris kode dalam skrip pelatihan Anda menggunakan salah satu alat berikut: TensorBoard X, TensorFlow Summary Writer, Summary Writer, atau PyTorch Debugger. SageMaker

Pastikan juga bahwa Anda menentukan jalur keluaran TensorBoard data sebagai direktori log (log_dir) untuk callback dalam wadah pelatihan.

Untuk informasi selengkapnya tentang callback per framework, lihat sumber daya berikut.

Langkah 2: Buat objek estimator SageMaker pelatihan dengan konfigurasi TensorBoard output

Gunakan sagemaker.debugger.TensorBoardOutputConfig saat mengonfigurasi estimator SageMaker kerangka kerja. Konfigurasi ini API memetakan bucket S3 yang Anda tentukan untuk menyimpan TensorBoard data dengan jalur lokal di container pelatihan (/opt/ml/output/tensorboard). Lewatkan objek modul ke tensorboard_output_config parameter kelas estimator. Cuplikan kode berikut menunjukkan contoh mempersiapkan TensorFlow estimator dengan parameter konfigurasi TensorBoard output.

catatan

Contoh ini mengasumsikan bahwa Anda menggunakan SageMaker PythonSDK. Jika Anda menggunakan level rendah SageMaker API, Anda harus menyertakan yang berikut ini ke sintaks permintaan. CreateTrainingJobAPI

"TensorBoardOutputConfig": { "LocalPath": "/opt/ml/output/tensorboard", "S3OutputPath": "s3_output_bucket" }
from sagemaker.tensorflow import TensorFlow from sagemaker.debugger import TensorBoardOutputConfig # 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 ) estimator = TensorFlow( entry_point="train.py", source_dir="src", role=role, image_uri=image_uri, 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 out-of-the-box dukungan untuk pekerjaan tuning SageMaker hyperparameter, karena tidak terintegrasi dengan konfigurasi TensorBoard output untuk pemetaan. CreateHyperParameterTuningJobAPI Untuk menggunakan TensorBoard aplikasi untuk pekerjaan tuning hyperparameter, Anda perlu menulis kode untuk mengunggah metrik ke Amazon S3 dalam skrip pelatihan Anda. Setelah metrik diunggah ke bucket Amazon S3, Anda kemudian dapat memuat bucket ke dalam TensorBoard aplikasi. SageMaker