翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
トレーニングメトリクスの定義
SageMaker AI はトレーニングジョブログを自動的に解析し、トレーニングメトリクスを CloudWatch に送信します。デフォルトでは、SageMaker AI は SageMaker AI ジョブとエンドポイントメトリクスにリストされているシステムリソース使用率メトリクスを送信します。SageMaker AI でログを解析し、独自のアルゴリズムのトレーニングジョブから CloudWatch にカスタムメトリクスを送信する場合は、SageMaker AI トレーニングジョブリクエストを設定するときにメトリクスの名前と正規表現を渡してメトリクス定義を指定する必要があります。
SageMaker AI コンソール、SageMaker AI SageMaker Python SDK
独自のアルゴリズムを使用している場合は、次の手順に従います。
-
取得するメトリクスがアルゴリズムによって必ずログに書き込まれるようにします。
-
CloudWatch に送信するメトリクスの値が取得されるよう正確にログを検索する正規表現を定義します。
例えば、アルゴリズムによって次のようなトレーニングエラーおよび検証エラーのメトリクスが発行されるとします。
Train_error=0.138318; Valid_error=0.324557;
これらの両方のメトリクスを CloudWatch でモニタリングする場合、メトリクス定義のディクショナリは次の例のようになります。
[ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ]
上記例で定義されている train:error
メトリクスの正規表現では、正規表現の最初の部分で「Train_error=」に一致するテキストを検索し、(.*?);
で、最初のセミコロン文字が現れるまで、すべての文字を取得します。この正規表現では、括弧内のテキストを取得するよう指示します。.
は任意の文字、*
は 0 文字以上の文字、?
は、;
文字の最初のインスタンスまでのみ取得されます。
SageMaker AI Python SDK を使用してメトリクスを定義する
Estimator
オブジェクトを初期化するときに、metric_definitions
引数としてメトリクス名と正規表現のリストを指定することで、CloudWatch に送信するメトリクスを定義します。例えば、train:error
と validation:error
の両方のメトリクスを CloudWatch でモニタリングする場合、Estimator
の初期化は次のようになります。
import sagemaker from sagemaker.estimator import Estimator estimator = Estimator( image_uri="
your-own-image-uri
", role=sagemaker.get_execution_role(), sagemaker_session=sagemaker.Session(), instance_count=1
, instance_type='ml.c4.xlarge
', metric_definitions=[ {'Name': 'train:error', 'Regex': 'Train_error=(.*?);'}, {'Name': 'validation:error', 'Regex': 'Valid_error=(.*?);'} ] )
Amazon SageMaker Python SDK
SageMaker AI コンソールを使用してメトリクスを定義する
トレーニングジョブの作成時に SageMaker AI コンソールのアルゴリズムソースとして ECR の独自のアルゴリズムコンテナを選択した場合は、メトリクスセクションにメトリクス定義を追加します。次のスクリーンショットは、サンプルメトリクス名とその対応する正規表現を追加した後の状態を示しています。

低レベルの SageMaker AI API を使用してメトリクスを定義する
CreateTrainingJob
オペレーションに渡す AlgorithmSpecification
入力パラメータの MetricDefinitions
フィールドでメトリクス名と正規表現のリストを指定することで、CloudWatch に送信するメトリクスを定義します。例えば、train:error
と validation:error
の両方のメトリクスを CloudWatch でモニタリングする場合、AlgorithmSpecification
は次のようになります。
"AlgorithmSpecification": { "TrainingImage":
your-own-image-uri
, "TrainingInputMode": "File", "MetricDefinitions" : [ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ] }
低レベルの SageMaker AI API を使用したトレーニングジョブの定義と実行の詳細については、「」を参照してくださいCreateTrainingJob
。