Если в логах видно:
torch.cuda.is_available(): False
nvidia-smi не найден в PATH
Это означает, что Docker контейнер не имеет доступа к GPU.
Ubuntu/Debian:
# Добавляем репозиторий NVIDIA
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# Устанавливаем
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# Перезапускаем Docker daemon
sudo systemctl restart dockerWindows:
- Установите NVIDIA Container Toolkit для Windows
- Или используйте WSL2 с установленным NVIDIA драйвером
# Проверяем что nvidia-smi работает на хосте
nvidia-smi
# Проверяем что Docker видит GPU
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smiВ docker-compose.yml секция deploy для GPU уже добавлена для обоих сервисов (insightaudio и worker).
Если GPU недоступен, убедитесь что:
- Секция
deployне закомментирована - Docker Compose версии 1.28+ (поддерживает
deploy.resources) - NVIDIA Container Toolkit установлен
# Остановите текущие контейнеры
docker-compose down
# Пересоберите образы (если нужно)
docker-compose build
# Запустите с GPU
docker-compose up -d
# Проверьте логи
docker-compose logs insightaudio | grep -i cuda
docker-compose logs worker | grep -i cudaЕсли стандартный Dockerfile не работает с GPU:
# Соберите образ с GPU поддержкой
docker build -f Dockerfile.gpu -t insightaudio:gpu .
# Обновите docker-compose.yml чтобы использовать этот образ
# Измените `build: .` на `image: insightaudio:gpu`После запуска в логах должно быть:
torch.cuda.is_available(): True
CUDA доступна, используется GPU
Если все еще False:
- Проверьте что
nvidia-smiработает на хосте - Проверьте версию Docker Compose:
docker-compose version(должна быть >= 1.28) - Проверьте что NVIDIA Container Toolkit установлен:
dpkg -l | grep nvidia-container-toolkit - Перезапустите Docker daemon:
sudo systemctl restart docker
Если GPU не нужен, можно отключить в конфиге:
В config/default_settings.json:
{
"default_config": {
"USE_CUDA": false
}
}Или закомментируйте секцию deploy в docker-compose.yml.