Files
FabledCurator/requirements-ml.txt
T
bvandeusenandClaude Opus 5.5 7a09dc3cda
CI and images / lint (push) Successful in 3s
CI and images / extension-version (push) Successful in 3s
extension / lint (push) Successful in 16s
CI and images / frontend-build (push) Successful in 19s
CI and images / backend-lint-and-test (push) Successful in 31s
CI and images / integration (push) Successful in 2m22s
CI and images / sign-extension (push) Successful in 3s
CI and images / build-web (push) Successful in 3m7s
CI and images / smoke-web (push) Successful in 59s
CI and images / build-agent (push) Successful in 6m41s
CI and images / promote (push) Successful in 2s
build: the agent installs one CUDA-13 stack instead of two, the web image drops ML packages it never imported, and Redis moves to 8 (1451, 1452)
Agent:
- The image ran PyPI's CUDA-13 torch 2.14 and onnxruntime-gpu 1.30 on a
  CUDA 12.9 cudnn-runtime base. requirements.txt had silently replaced the
  Dockerfile's torch 2.6+cu124, because ultralytics pulls torchvision, which
  pulls its own torch. That left ~3 GB of base libraries and a ~3 GB torch
  nothing loaded: 10 GB compressed.
- Now: an nvidia/cuda 13.0.3 `base` image, with torch and torchvision
  installed together from cu130. CUDA and cuDNN come from the nvidia-* pip
  packages; onnxruntime-gpu declares its [cuda,cudnn] extras.
- fc_agent/accel.py preloads those libraries for onnxruntime. It then logs,
  and reports in /status, whether torch and the ONNX CUDA provider actually
  got the GPU, since both fall back to the CPU silently.

Web image:
- Drop opencv-python-headless and onnxruntime, plus the opencv-only apt libs.
  Both have been listed since the scaffold and nothing in backend/ imports
  them.
- torch/torchvision move to 2.14/0.29, and the unexplained caps are lifted
  (rule 154).

Redis: 8-alpine in both compose files and both CI service containers. That
gives an AGPLv3 licence option, where 7.4 was RSAL/SSPL only. The client
moves to >=8.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LVjrnpQjRgHdvq95rASoiR
2026-09-24 17:45:39 -04:00

29 lines
1.3 KiB
Plaintext

-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. The default PyPI torch wheel bundles
# the NVIDIA CUDA runtime (a ~5.6GB image layer); this pipeline is CPU-only,
# so Dockerfile uses the +cpu wheels from
# https://download.pytorch.org/whl/cpu instead.
#
# torchvision declares requires_python "!=3.14.1" (0.27 through 0.29). The
# image's python:3.14-slim is past that patch, so it only bites a build pinned
# to exactly 3.14.1.
#
# No caps below: rule 154 wants a named breakage for one, and none of the
# `<N` caps these lines used to carry had one. opencv-python-headless and
# onnxruntime were dropped (#1451): listed since the 2026-05-14 scaffold,
# imported by nothing in backend/ — ONNX inference lives in the GPU agent.
transformers>=5.8
huggingface-hub>=1.14
# 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