Я создал контейнер докеров клиента, используя в качестве отправной точки контейнер тензорного потока Amazon:
763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-training:1.15.2-gpu-py36-cu100-ubuntu18.04
внутри контейнера я запускаю пользовательское задание по обучению keras (с бэкэндом TF) из докера SAGEMAKER_PROGRAM. Я могу получить доступ к обучающим данным нормально (из монтирования EFS) и могу сгенерировать вывод в / opt / ml / model, который синхронизируется обратно с S3. Так что ввод и вывод хорош: мне не хватает мониторинга в реальном времени.
Обучающее задание Sagemaker генерирует системные метрики, такие как загрузка процессора и графического процессора, которые вы можете удобно просматривать в режиме реального времени на консоли рабочего задания Sagemaker. Но я не могу найти способ выпускать показатели о ходе обучения. то есть потеря, точность и т. д. из моего кода Python.
На самом деле, в идеале я хотел бы использовать Tensorboard, но поскольку Sagemaker не предоставляет экземпляр на консоли EC2, я не вижу, как я могу найти IP-адрес экземпляра для подключения к Tensorboard.
Таким образом, запасным вариантом является попытка выдать соответствующие показатели из обучающего кода, чтобы мы могли отслеживать выполнение задания.
Основной вопрос заключается в том, как в режиме реального времени отслеживать ключевые показатели для моего настраиваемого учебного задания, выполняемого в контейнере в учебном задании Sagemaker: - Возможно ли решение с помощью тензорной доски? Если да, то как? - Если нет, то как мне генерировать метрики из моего кода Python и отображать их в консоли учебных заданий или напрямую в виде метрик облачных наблюдений?
Кстати: до сих пор мне не удалось получить достаточные учетные данные внутри контейнера учебных заданий для доступа к s3 или cloudwatch.