Это может даже исказить ваши тесты

Контейнеры замедлят вашу тренировку

Одно из преимуществ контейнеров по сравнению с виртуальными машинами заключается в том, что вы получаете некоторую степень изоляции без потери производительности или искажения виртуализации. Таким образом, образы Docker кажутся хорошим способом получить воспроизводимую среду для измерения производительности ЦП вашего кода.

Однако есть осложнения. Иногда работа в Docker может замедлить работу вашего кода и исказить показатели производительности. [1]

В любом случае контейнеры не так хорошо работают на Mac и Windows

Например, в macOS и Windows стандартные контейнеры Docker на основе Linux на самом деле не работают непосредственно в ОС, поскольку ОС не является Linux. [1]

Если вас это просто не волнует, по крайней мере, подключитесь к своему графическому процессору

Запуск контейнера с доступом к GPU

Поскольку Docker по умолчанию не предоставляет графические процессоры вашей системы, вам необходимо создать контейнеры с флагом --gpus, чтобы ваше оборудование отображалось. Вы можете либо указать определенные устройства для включения, либо использовать ключевое слово all.

Образы nvidia/cuda предварительно настроены с помощью двоичных файлов CUDA и инструментов графического процессора. Запустите контейнер и выполните команду nvidia-smi, чтобы проверить доступность вашего графического процессора. Вывод должен соответствовать тому, что вы видели при использовании nvidia-smi на своем хосте. Версия CUDA может отличаться в зависимости от версий инструментария на вашем хосте и в выбранном образе контейнера. [2]

docker run -it --gpus all nvidia/cuda:11.4.0-base-ubuntu20.04 nvidia-smi

Все это предполагает, что вы уже установили драйверы NVIDIA и CUDA на свой компьютер с Linux заранее. Сделайте эти вещи, а затем начните создавать свой контейнер Docker.

Рекомендации

[1] Docker может замедлить ваш код и исказить результаты тестов. https://pythonspeed.com/articles/docker-performance-overhead/#:~:text=Иногда%2C%20running%20under%20Docker%20может%20OS%20не%20Linux.

[2] Как использовать графический процессор NVIDIA с контейнерами Docker. https://www.cloudsavvyit.com/14942/how-to-use-an-nvidia-gpu-with-docker-containers/#:~:text=Использование%20one%20of%20%20nvidia,версия%2C %20и%20NVIDIA%20программное обеспечение%20варианты.