forked from Dan4ick/Lidar_Muxa
- Dockerfile на python:3.11-slim с libgomp1, непривилегированным пользователем и healthcheck; - docker-entrypoint.sh с поддержкой шорткатов test/benchmark/evaluate/pipeline; - docker-compose.yml с профилями тестирования, оценки и бенчмарка; - docs/DOCKER.md: руководство по сборке, запуску и монтированию томов; - requirements.txt: добавлен matplotlib для построения графиков.
91 lines
3 KiB
YAML
91 lines
3 KiB
YAML
services:
|
||
# --------------------------------------------------------------------------
|
||
# 1. Запуск набора тестов
|
||
# docker compose run --rm test
|
||
# --------------------------------------------------------------------------
|
||
test:
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile
|
||
image: flyguard:latest
|
||
container_name: flyguard-test
|
||
command: ["test"]
|
||
volumes:
|
||
- ./artifacts:/app/artifacts
|
||
- ./data:/data:ro
|
||
environment:
|
||
- PYTHONUNBUFFERED=1
|
||
- FLYGUARD_DATA=/data
|
||
shm_size: '2gb'
|
||
|
||
# --------------------------------------------------------------------------
|
||
# 2. Оценка ложных тревог (leave-one-bag-out)
|
||
# docker compose run --rm evaluate
|
||
# --------------------------------------------------------------------------
|
||
evaluate:
|
||
image: flyguard:latest
|
||
container_name: flyguard-evaluate
|
||
command: ["evaluate", "--mbon-dir", "artifacts/mbon_folds"]
|
||
volumes:
|
||
- ./artifacts:/app/artifacts
|
||
- ./data:/data:ro
|
||
environment:
|
||
- PYTHONUNBUFFERED=1
|
||
- FLYGUARD_DATA=/data
|
||
shm_size: '2gb'
|
||
|
||
# --------------------------------------------------------------------------
|
||
# 3. Полигон дальности обнаружения с аугментациями
|
||
# docker compose run --rm benchmark
|
||
# --------------------------------------------------------------------------
|
||
benchmark:
|
||
image: flyguard:latest
|
||
container_name: flyguard-benchmark
|
||
command: [
|
||
"benchmark",
|
||
"--memory", "artifacts/mushroom_body.npz",
|
||
"--mbon-dir", "artifacts/mbon_folds",
|
||
"--augment",
|
||
"--out", "artifacts/benchmark.json"
|
||
]
|
||
volumes:
|
||
- ./artifacts:/app/artifacts
|
||
- ./data:/data:ro
|
||
environment:
|
||
- PYTHONUNBUFFERED=1
|
||
- FLYGUARD_DATA=/data
|
||
shm_size: '2gb'
|
||
|
||
# --------------------------------------------------------------------------
|
||
# 4. Прогон конвейера по бэгу
|
||
# docker compose run --rm pipeline --bag /data/for_hackathon/doubleT_obstacle --verbose
|
||
# --------------------------------------------------------------------------
|
||
pipeline:
|
||
image: flyguard:latest
|
||
container_name: flyguard-pipeline
|
||
command: ["pipeline", "--all", "--memory", "artifacts/mushroom_body.npz"]
|
||
volumes:
|
||
- ./artifacts:/app/artifacts
|
||
- ./data:/data:ro
|
||
environment:
|
||
- PYTHONUNBUFFERED=1
|
||
- FLYGUARD_DATA=/data
|
||
shm_size: '2gb'
|
||
|
||
# --------------------------------------------------------------------------
|
||
# 5. Интерактивная оболочка
|
||
# docker compose run --rm shell
|
||
# --------------------------------------------------------------------------
|
||
shell:
|
||
image: flyguard:latest
|
||
container_name: flyguard-shell
|
||
command: ["bash"]
|
||
volumes:
|
||
- ./artifacts:/app/artifacts
|
||
- ./data:/data:ro
|
||
environment:
|
||
- PYTHONUNBUFFERED=1
|
||
- FLYGUARD_DATA=/data
|
||
stdin_open: true
|
||
tty: true
|
||
shm_size: '2gb'
|