-r requirements.txt # ML stack — versions current as of 2026-05-14 with Python 3.14 wheel coverage. # torch + torchvision are NOT listed here: they are installed CPU-only from # the PyTorch CPU index in Dockerfile.ml. The default PyPI torch wheel bundles # the NVIDIA CUDA runtime (a ~5.6GB image layer); this pipeline is CPU-only, # so Dockerfile.ml uses the +cpu wheels from # https://download.pytorch.org/whl/cpu instead. # # IMPORTANT: torchvision 0.27 declares requires_python "!=3.14.1,>=3.10" — # Python 3.14.1 specifically is excluded due to a known incompatibility. # The python-ci runner pulls python:3.14-bookworm (latest patch); if that # resolves to 3.14.1 the install will fail. Pin a specific Python patch in # the runner image (CI-Runner/CI-python/Dockerfile) if this becomes a # blocker. 3.14.0 and 3.14.2+ are fine. transformers>=5.8,<6.0 onnxruntime>=1.26,<2.0 huggingface-hub>=1.14,<2.0 opencv-python-headless>=4.13,<5.0 # scikit-learn powers the tag-eval (#1130) head-vs-centroid comparison: logistic # regression + cross-validated precision/recall/AP. Battle-tested metrics matter # because that eval's whole purpose is producing trustworthy numbers. numpy is # left to resolve transitively (torch/transformers/sklearn all pull it) to avoid # pinning against their constraints. scikit-learn>=1.7,<2.0