Spaces:
Sleeping
Sleeping
navidhus
Initial commit - local working state (GPU): OMR compare + CREPE audio + preprocessing
d5f3793 | # One-shot setup: build all Docker images and verify GPU access. | |
| set -euo pipefail | |
| cd "$(dirname "$0")/.." | |
| echo "=== OMR Demo Setup ===" | |
| # 1. Prerequisites | |
| command -v docker >/dev/null 2>&1 || { echo "ERROR: docker not found"; exit 1; } | |
| command -v nvidia-smi >/dev/null 2>&1 || echo "WARNING: nvidia-smi not found — GPU features may not work" | |
| # 2. Create data directories | |
| mkdir -p data/uploads data/results data/logs data/samples | |
| # 3. Build Audiveris image (downloads from GitHub inside Docker) | |
| echo "" | |
| echo "--- Building Audiveris image (may take a few minutes to download) ---" | |
| docker compose --profile build-only build audiveris | |
| # 4. Build backend image (downloads oemer + onnxruntime-gpu inside Docker) | |
| echo "" | |
| echo "--- Building backend image (downloads oemer + onnxruntime-gpu) ---" | |
| docker compose build backend | |
| # 5. Build frontend image (downloads npm packages inside Docker) | |
| echo "" | |
| echo "--- Building frontend image ---" | |
| docker compose build frontend | |
| # 6. Smoke-test: GPU visible inside backend container | |
| echo "" | |
| echo "--- GPU check inside backend container ---" | |
| docker compose run --rm backend python -c " | |
| import pynvml | |
| try: | |
| pynvml.nvmlInit() | |
| count = pynvml.nvmlDeviceGetCount() | |
| print(f'Detected {count} GPU(s)') | |
| for i in range(count): | |
| h = pynvml.nvmlDeviceGetHandleByIndex(i) | |
| name = pynvml.nvmlDeviceGetName(h) | |
| print(f' GPU {i}: {name if isinstance(name, str) else name.decode()}') | |
| except Exception as e: | |
| print(f'GPU not available: {e} (CPU fallback will be used)') | |
| " | |
| # 7. Smoke-test: oemer CLI available | |
| echo "" | |
| echo "--- oemer availability check ---" | |
| docker compose run --rm backend sh -c " | |
| oemer --help > /dev/null 2>&1 && echo 'oemer: OK' || echo 'oemer: NOT FOUND' | |
| " | |
| # 8. Smoke-test: onnxruntime CUDAExecutionProvider | |
| echo "" | |
| echo "--- onnxruntime CUDA check ---" | |
| docker compose run --rm backend python -c " | |
| import onnxruntime as ort | |
| providers = ort.get_available_providers() | |
| if 'CUDAExecutionProvider' in providers: | |
| print('onnxruntime CUDAExecutionProvider: OK') | |
| else: | |
| print(f'WARNING: CUDAExecutionProvider missing. Available: {providers}') | |
| " | |
| echo "" | |
| echo "=== Setup complete. Run: ./scripts/start_dev.sh ===" | |