Использование tenorboard с API обнаружения объектов в sagemaker - PullRequest
2 голосов
/ 25 мая 2020

с this Я успешно создал учебное задание по sagemaker, используя API обнаружения объектов Tensorflow в контейнере docker. Теперь я хотел бы контролировать работу по обучению с помощью sagemaker, но не могу найти ничего, объясняющего, как это делать. Я не использую записную книжку Sagemaker. Я думаю, что могу сделать это, сохранив журналы в ведре S3 и указав там локальный экземпляр тензорной платы ... но не знаю, как сообщить API обнаружения объектов тензорного потока, где сохранять журналы (есть ли аргумент командной строки для этого ?). Что-то вроде this , но скрипт generate_tensorboard_command.py не работает, потому что в моем учебном задании нет параметра sagemaker_submit_directory ..

Дело в том, что когда я начинаю обучение, ничего не создается на моем s3 пока не закончится работа sh и все закачать. Должен быть способ указать тензорному потоку, где сохранять журналы (s3) во время обучения, надеюсь, без изменения исходного кода API ..

1 Ответ

0 голосов
/ 07 июля 2020

Просматривая опубликованный вами пример, кажется, что model_dir, переданный в пакет обнаружения объектов TensorFlow, настроен на /opt/ml/model:

# These are the paths to where SageMaker mounts interesting things in your container.
prefix = '/opt/ml/'
input_path = os.path.join(prefix, 'input/data')
output_path = os.path.join(prefix, 'output')
model_path = os.path.join(prefix, 'model')
param_path = os.path.join(prefix, 'input/config/hyperparameters.json')

В процессе обучения журналы тензорной доски будут записывается в /opt/ml/model, а затем загружается в s3 как окончательный артефакт модели ПОСЛЕ обучения: https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo-envvariables.html.

Вы могли бы отодвинуть Шаг загрузки артефакта SageMaker и направьте model_dir API обнаружения объектов TensorFlow непосредственно в местоположение s3 во время обучения:

model_path = "s3://your-bucket/path/here

Это означает, что библиотека TensorFlow в задании SageMaker напрямую записывает в S3 вместо файловая система внутри контейнера. Предполагая, что базовый код обнаружения объектов TensorFlow может писать непосредственно в S3 (что вам нужно будет проверить), вы сможете видеть журналы тензорной платы и контрольные точки там в реальном времени.

...