services: # ============================================================================ # FlyGuard: Универсальный производственный запуск (NVIDIA GPU / CUDA 12) # Поддерживает Ada Lovelace (RTX 4070 Ti Super 16GB) / Ampere / CPU Fallback # ============================================================================ # --- Главный сервис общего запуска конвейера по всем бэгам лидара --- pipeline: build: context: . dockerfile: Dockerfile.offline 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.offline 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'