CloudWatch фиксирует только последнюю метрику, полученную в ходе учебного задания SageMaker.Python

Программы на Python
Anonymous
CloudWatch фиксирует только последнюю метрику, полученную в ходе учебного задания SageMaker.

Сообщение Anonymous »

Я использую Amazon SageMaker для обучения модели PyTorch и пытаюсь визуализировать значения потерь в CloudWatch. Я создаю свой оценщик:

Код: Выделить всё

from sagemaker.pytorch import PyTorch

estimator = PyTorch(
entry_point="train.py",
source_dir=source_dir,
role=role,
framework_version=framework_version,
py_version="py3",
train_instance_count=1,
train_instance_type=instance_type,
hyperparameters=hyperparameters,
metric_definitions=[
{"Name": "train:loss", "Regex": "Train Loss:([0-9\\.]+)"},
{"Name": "val:loss", "Regex": "Val Loss:([0-9\\.]+)"},
],
enable_sagemaker_metrics=True
)
и выполните задание обучения:

Код: Выделить всё

estimator.fit(s3_url)
Это работает успешно, но когда я смотрю на показатели алгоритма в CloudWatch для созданного им учебного задания, кажется, что он фиксирует только последние зарегистрированные значения потерь. То же самое происходит и при использовании TrainingJobAnalytics:

Код: Выделить всё

from sagemaker.analytics import TrainingJobAnalytics

analysis = TrainingJobAnalytics(training_job_name=estimator._current_job_name)
df = analysis.dataframe()
df
где результат выглядит так:

Код: Выделить всё

    timestamp   metric_name value
0         0.0   train:loss  0.471061
1         0.0   val:loss    0.167700
В журналах CloudWatch регистрируется несколько значений, но они, похоже, не фиксируются. Мне было интересно, может ли кто-нибудь дать совет, как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/684 ... aining-job

Вернуться в «Python»