Lidar_Muxa/docker-compose.yml

237 lines
6.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

services:
# ============================================================================
# FlyGuard: Универсальный производственный запуск (NVIDIA GPU / CUDA 12)
# Поддерживает Ada Lovelace (RTX 4070 Ti Super 16GB) / Ampere / CPU Fallback
# ============================================================================
# --- Главный сервис общего запуска конвейера по всем бэгам лидара ---
pipeline:
build:
context: .
dockerfile: Dockerfile
image: flyguard:latest
container_name: flyguard-pipeline
command: ["pipeline", "--all", "--verbose"]
volumes:
- ./artifacts:/app/artifacts
- ./data:/data:ro
environment:
- PYTHONUNBUFFERED=1
- FLYGUARD_DATA=/data
- FLYGUARD_DEVICE=auto
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
shm_size: '8gb'
# --- Полный прогон тестового набора ядра и роутинга устройств ---
test:
image: flyguard:latest
container_name: flyguard-test
command: ["test"]
volumes:
- ./artifacts:/app/artifacts
- ./data:/data:ro
environment:
- PYTHONUNBUFFERED=1
- FLYGUARD_DATA=/data
- FLYGUARD_DEVICE=auto
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
shm_size: '8gb'
# --- Диагностика доступности GPU и характеристик оборудования ---
info:
image: flyguard:latest
container_name: flyguard-info
command: ["info"]
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
# --- Оценка метрик детекции (Folds Cross-Validation / AUC) ---
evaluate:
image: flyguard:latest
container_name: flyguard-evaluate
command: ["evaluate", "--mbon-dir", "artifacts/mbon_folds", "--device", "auto"]
volumes:
- ./artifacts:/app/artifacts
- ./data:/data:ro
environment:
- PYTHONUNBUFFERED=1
- FLYGUARD_DATA=/data
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
shm_size: '8gb'
# --- Генерация синтетического бенчмарка с GPU DoG и MBON ---
benchmark:
image: flyguard:latest
container_name: flyguard-benchmark
command: [
"benchmark",
"--memory", "artifacts/mushroom_body.npz",
"--mbon-dir", "artifacts/mbon_folds",
"--augment",
"--device", "auto",
"--out", "artifacts/benchmark_gpu.json"
]
volumes:
- ./artifacts:/app/artifacts
- ./data:/data:ro
environment:
- PYTHONUNBUFFERED=1
- FLYGUARD_DATA=/data
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
shm_size: '8gb'
# --- Обучение MBON Readout на 50 000 клеток Кеньона на GPU ---
train-mbon:
image: flyguard:latest
container_name: flyguard-train-mbon
command: [
"train-mbon",
"--device", "auto",
"--n-kc", "50000",
"--active", "100",
"--epochs", "100",
"--save-folds", "artifacts/mbon_folds_50k",
"--out", "artifacts/mbon_readout_50k.npz"
]
volumes:
- ./artifacts:/app/artifacts
- ./data:/data
environment:
- PYTHONUNBUFFERED=1
- FLYGUARD_DATA=/data
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
shm_size: '8gb'
# --- Обучение классификатора треков TrackReadout ---
train-track:
image: flyguard:latest
container_name: flyguard-train-track
command: [
"train-track",
"--device", "auto",
"--epochs", "300",
"--baseline",
"--save-folds", "artifacts/track_folds",
"--out", "artifacts/track_readout.npz"
]
volumes:
- ./artifacts:/app/artifacts
- ./data:/data
environment:
- PYTHONUNBUFFERED=1
- FLYGUARD_DATA=/data
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
shm_size: '8gb'
# --- Интерактивная Bash-сессия разработчика ---
shell:
image: flyguard:latest
container_name: flyguard-shell
command: ["bash"]
volumes:
- ./artifacts:/app/artifacts
- ./data:/data
environment:
- PYTHONUNBUFFERED=1
- FLYGUARD_DATA=/data
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
stdin_open: true
tty: true
shm_size: '8gb'
# ============================================================================
# СЕРВИСЫ ДЛЯ ЧИСТОГО CPU (Stand-alone без NVIDIA GPU)
# ============================================================================
cpu-test:
build:
context: .
dockerfile: Dockerfile
target: cpu
image: flyguard:cpu
container_name: flyguard-cpu-test
command: ["test"]
volumes:
- ./artifacts:/app/artifacts
- ./data:/data:ro
environment:
- PYTHONUNBUFFERED=1
- FLYGUARD_DATA=/data
- FLYGUARD_DEVICE=cpu
shm_size: '2gb'
cpu-pipeline:
image: flyguard:cpu
container_name: flyguard-cpu-pipeline
command: ["pipeline", "--all"]
volumes:
- ./artifacts:/app/artifacts
- ./data:/data:ro
environment:
- PYTHONUNBUFFERED=1
- FLYGUARD_DATA=/data
- FLYGUARD_DEVICE=cpu
shm_size: '2gb'