Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # **Веселые** контейнеры от NVIDIA
- ## Введение
- https://docs.nvidia.com/deeplearning/frameworks/index.html#nvidia-optimized-frameworks-release-notes
- Одним из многих преимуществ использования контейнеров является возможность установить приложение, зависимости и переменные окружения один раз в образ контейнера, а не на каждую систему, на которой вы работаете. Кроме того, основными преимуществами использования контейнеров являются следующие:
- - Установите приложение, зависимости и переменные окружения один раз в образ контейнера, а не на каждую систему, на которой вы работаете.
- - Нет риска конфликта с библиотеками, которые устанавливаются другими пользователями.
- - Контейнеры позволяют использовать на одном и том же сервере несколько различных систем глубокого обучения, которые могут иметь конфликтующие программные зависимости.
- - После сборки приложения в контейнер, вы можете запускать его в большом количестве других мест, особенно на серверах, без необходимости установки какого-либо программного обеспечения.
- - Старые приложения для ускоренных вычислений могут быть контейнеризированы и развернуты на более новых системах, в помещении или в облаке.
- - Конкретные ресурсы GPU могут быть распределены по контейнеру для изоляции и повышения производительности.
- - Вы можете легко обмениваться приложениями, сотрудничать и тестировать их в различных средах.
- - Несколько примеров данной среды глубокого обучения можно запускать одновременно с каждым GPU, которому назначен один или несколько конкретных GPU.
- - Контейнеры могут быть использованы для разрешения конфликтов сетевых портов между приложениями путем привязки контейнерных портов к конкретным видимым портам при запуске контейнера
- ## Работа с хранилищем образов nvcr.io и запуск подготовленных контейнеров
- Запуск контейнера на выполнение:
- ```shell
- nvidia-docker run -it --rm –v local_dir:container_dir nvcr.io/nvidia/caffe2:<xx.xx>
- ```
- Ключи запуска программы:
- | Ключ или параметр | Описание ключа или параметра команды запуска контейнера |
- | ----------------- | ------------------------------------------------------------ |
- | **nvcr.io** | имя хранилища (репозитория) контейнеров NVIDIA NGC |
- | **nvidia** | наименование раздела в хранилище, который содержит запускаемый контейнер |
- | **-it** | Контейнер запускается в интерактивном режиме (можно вводить команды shell) |
- | **--rm** | После того как работа с контейнером заканчивается - он удаляется |
- | **-v** | Монтируем локальный каталог внутрь контейнера |
- | **local_dir** | Каталог или файл из хост-системы (абсолютный путь), к которому необходимо получить доступ внутри контейнера. |
- | **container_dir** | Каталог внутри контейнере, куда будет отображаться каталог внешней (хост-системы) |
- | **<xx.xx>** | Версия контейнера, например 18.01 |
- | **pyX** | Версия Python, установленная в контейнере, например py3 |
- > Пример отображения внешнего каталога в контейнер
- >
- > если каталог хост-системы **/home/jsmith/data/mnist** мы хотим смонтировать как каталог **/data/mnist**, внутри контейнера необходимо выполнить команду
- >
- > ```shell
- > -v /home/jsmith/data/mnist:/data/mnist
- > ```
- >
- > если каталога внутри контейнера нет - Docker создаст его
- >
- >
- > **ВНИМАНИЕ !!!** Смонтировать папку в работающий контейнер **НЕЛЬЗЯ !!!**
- >
- > можно сделать том данных отдельным контейнером, а потом смонтировать его в нужном контейнере хоть через тот же sshfs.
- Для получения дополнительной информации, относящейся к вашему конкретному контейнеру, обратитесь к файлу/workspace/README.md внутри контейнера.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement