Как начать обучение AWS Sagemaker с доступом к графическому процессору в моем док-контейнере? - PullRequest
0 голосов
/ 06 марта 2019

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

Я создал образ докера, основанный на тензорном потоке / тензорном потоке: образ последней-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

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

1 Ответ

0 голосов
/ 07 марта 2019

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

, тег "latest" относится к версии 1.12.0 на данный моментПроблема была не моей, а с этой версией образа докера.

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

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

...