Как начать работу по обучению AWS Sagemaker с доступом к графическому процессору в моем контейнере докеров?

У меня есть код на Python, который обучает нейронную сеть с использованием тензорного потока.

Я создал образ докера на основе образа tensorflow / tensorflow: latest-gpu-py3, который запускает мой скрипт python. Когда я запускаю экземпляр EC2 p2.xlarge, я могу запустить свой докер-контейнер с помощью команды

docker run --runtime=nvidia cnn-userpattern train

а контейнер с моим кодом работает без ошибок и использует графический процессор хоста.

Проблема в том, что когда я пытаюсь запустить тот же контейнер в учебном задании AWS Sagemaker с экземпляром ml.p2.xlarge (я также пробовал с ml.p3.2xlarge), алгоритм не работает с кодом ошибки:

ImportError: libcuda.so.1: невозможно открыть файл общих объектов: нет такого файла или каталога

Теперь я знаю, что означает этот код ошибки. Это означает, что среда выполнения хоста докеров не установлена ​​на «nvidia». В документации AWS говорится, что команда, используемая для запуска образа докера, всегда

docker run image train

что будет работать, если в docker / deamon.json для среды выполнения по умолчанию установлено значение «nvidia». Есть ли способ отредактировать хост deamon.json или указать докеру в Dockerfile использовать "--runtime = nvidia"?


person user2443088    schedule 06.03.2019    source источник


Ответы (1)


С некоторой помощью службы поддержки AWS мы смогли найти проблему. Образ докера, который я использовал для запуска своего кода, был, как я уже сказал, tensorflow / tensorflow: latest-gpu-py3 (доступен на https://github.com/aws/sagemaker-tensorflow-container)

тег «последняя» в настоящее время относится к версии 1.12.0. Проблема была не у меня, а с этой версией образа докера.

Если я основываю свой образ докера на tenorflow / tensorflow: 1.10.1-gpu-py3, он работает так, как должен, и полностью использует графический процессор.

Очевидно, среда выполнения по умолчанию установлена ​​на «nvidia» в docker / deamon.json на всех экземплярах AWS sagemaker на GPU.

person user2443088    schedule 07.03.2019