53 lines
2.2 KiB
YAML
53 lines
2.2 KiB
YAML
# DXA Quality Assessment — запуск сервиса в контейнере.
|
||
#
|
||
# Чекпоинт лежит внутри образа (models/dxa_model.pth копируется на этапе сборки),
|
||
# поэтому монтировать пути не нужно: ни каталог с моделями, ни данные.
|
||
# Данные для анализа загружаются через веб-интерфейс (http://localhost:8000).
|
||
#
|
||
# CPU — работает на любой машине, ничего кроме docker не требуется:
|
||
# docker compose up -d # сервис dxa-cpu, порт 8000
|
||
#
|
||
# GPU — H200 и другие ускорители; нужен драйвер NVIDIA и nvidia-container-toolkit:
|
||
# docker compose --profile cuda up -d dxa-cuda
|
||
# имя сервиса указано явно: без него поднялись бы оба и разошлись по одному порту
|
||
#
|
||
# Пересобрать после правок кода: docker compose build [dxa-cpu|dxa-cuda]
|
||
# Логи: docker compose logs -f dxa-cpu
|
||
# Состояние: curl -s localhost:8000/api/v1/health
|
||
# Остановить: docker compose down
|
||
|
||
name: dxa-quality
|
||
|
||
services:
|
||
# Обычный инференс на CPU: torch ставится из CPU-индекса, GPU не используется.
|
||
dxa-cpu:
|
||
image: dxa-quality:cpu
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
ports:
|
||
- "8000:8000"
|
||
restart: unless-stopped
|
||
|
||
# Инференс на GPU: базовый образ тот же, но torch собран под CUDA 12.6.
|
||
# Профиль cuda — чтобы на машинах без NVIDIA сервис не мешал запуску по умолчанию.
|
||
dxa-cuda:
|
||
profiles: ["cuda"]
|
||
image: dxa-quality:cuda
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile_cuda
|
||
ports:
|
||
- "8000:8000"
|
||
restart: unless-stopped
|
||
environment:
|
||
NVIDIA_VISIBLE_DEVICES: all
|
||
NVIDIA_DRIVER_CAPABILITIES: compute,utility
|
||
deploy:
|
||
resources:
|
||
reservations:
|
||
devices:
|
||
- driver: nvidia
|
||
count: all
|
||
capabilities: [gpu]
|