View a markdown version of this page

トレーニングジョブを準備して TensorBoard 出力データ設定を収集する - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

トレーニングジョブを準備して TensorBoard 出力データ設定を収集する

SageMaker AI での機械学習の一般的なトレーニングジョブは、トレーニングスクリプトの準備と、SageMaker AI Python SDK の SageMaker AI ModelTrainer (以前の PySDK v2 の推定器) オブジェクトの設定という 2 つの主要なステップで構成されます。このセクションでは、SageMaker トレーニングジョブから TensorBoard 互換データを収集するために必要な変更を説明します。

前提条件

次のリストは、SageMaker AI with TensorBoard の使用を開始するための前提条件を示しています。

  • AWS アカウントの Amazon VPC でセットアップされた SageMaker AI ドメイン。

    ドメインの設定方法については、「Onboard to Amazon SageMaker AI domain using quick setup」を参照してください。また、個々のユーザーが SageMaker AI の TensorBoard にアクセスするためのドメインユーザープロファイルを追加する必要があります。詳細については、「ユーザープロファイルの追加」を参照してください。

  • Amazon EFS はドメインで有効にする必要があります。TensorBoard を使用するには、Amazon EFS ファイルシステムが必要です。2026 年 6 月 1 日以降にクイックセットアップで作成されたドメインの場合、EFS はドメインの作成中にデフォルトでは作成されません。ドメインの作成後に EFS を有効にするには、「Amazon SageMaker Studio での Amazon EFS の作成と自動マウント」を参照してください。

  • Amazon EFS はドメインで有効にする必要があります。TensorBoard を使用するには、Amazon EFS ファイルシステムが必要です。2026 年 6 月 1 日以降にクイックセットアップで作成されたドメインの場合、EFS はドメインの作成中にデフォルトでは作成されません。ドメインの作成後に EFS を有効にするには、「Amazon SageMaker Studio での Amazon EFS の作成と自動マウント」を参照してください。

  • 以下のリストは、SageMaker AI で TensorBoard を使用するための最小限のアクセス許可のセットです。

    • sagemaker:CreateApp

    • sagemaker:DeleteApp

    • sagemaker:DescribeTrainingJob

    • sagemaker:Search

    • s3:GetObject

    • s3:ListBucket

ステップ 1: オープンソースの TensorBoard ヘルパーツールを使用してトレーニングスクリプトを変更する

収集する出力テンソルとスカラーを決定し、TensorBoardX、TensorFlow サマリーライター、PyTorch サマリーライター、または SageMaker Debugger のいずれかのツールを使用してトレーニングスクリプトのコード行を変更してください。

また、トレーニングコンテナのコールバックのログディレクトリ (log_dir) として TensorBoard データ出力パスを指定していることを確認してください。

フレームワークごとのコールバックについて詳しくは、次のリソースを参照してください。

ステップ 2: TensorBoard 出力設定を使用して SageMaker トレーニング ModelTrainer オブジェクトを作成する

SageMaker AI ModelTrainer を設定するsagemaker.debugger.TensorBoardOutputConfigときは、 を使用します。この設定 API は、TensorBoard データを保存するために指定した S3 バケットをトレーニングコンテナ (/opt/ml/output/tensorboard) のローカルパスにマッピングします。モジュールの オブジェクトを ModelTrainer クラスの tensorboard_output_configパラメータに渡します。次のコードスニペットは、TensorBoard 出力設定パラメータを使用して TensorFlow ModelTrainer を準備する例を示しています。 TensorBoard

注記

この例では、SageMaker Python SDK の使用を想定しています。低レベルの SageMaker API を使用する場合は、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 )
注記

CreateHyperParameterTuningJob API は TensorBoard 出力設定と統合されておらずマッピングされないため、TensorBoard アプリケーションは SageMaker AI ハイパーパラメータチューニングジョブをすぐにサポートしません。TensorBoard アプリケーションをハイパーパラメータチューニングジョブに使用するには、トレーニングスクリプトでメトリクスを Amazon S3 にアップロードするコードを記述する必要があります。メトリクスが Amazon S3 バケットにアップロードされると、SageMaker AI の TensorBoard アプリケーションにバケットをロードできます。