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