Skip to content

chore(env): bump PyTorch to 2.11.0 and torchvision to 0.26.0 - #119

Closed
yuchenlichuck wants to merge 2 commits into
vccimaging:mainfrom
yuchenlichuck:chore/torch-2.11
Closed

yuchenlichuck wants to merge 2 commits into
vccimaging:mainfrom
yuchenlichuck:chore/torch-2.11

Conversation

@yuchenlichuck

Copy link
Copy Markdown

Summary

Moves the reproducible environment from PyTorch 2.10.0 / torchvision 0.25.0 to PyTorch 2.11.0 / torchvision 0.26.0.

  • requirements.txt: torch==2.11.0+cu128 / torchvision==0.26.0+cu128 on Linux and Windows, native torch==2.11.0 / torchvision==0.26.0 wheels on macOS. The cu128 extra index is unchanged; 2.11.0 ships cp312 cu128 wheels for manylinux_2_28_x86_64, manylinux_2_28_aarch64 and win_amd64, and PyPI has the macosx_11_0_arm64 wheels for both packages.
  • README.md: Installation text updated to match.
  • pyproject.toml: unchanged on purpose. The published-package ranges torch>=2.10,<2.12 / torchvision>=0.25,<0.27 already admit 2.11.0 / 0.26.0, following the split from 4aefe82 (library keeps ranges, env files carry the exact pins).
  • deeplens/psfnetlens.py: the >= 2.10 floor for safe weights_only checkpoint loading is unaffected and still correct.

No source changes were needed; the library runs on 2.11 as-is.

Verification

Fresh Python 3.12.12 venv, python -m pip install -r requirements.txt, then pip install -e . --no-deps:

  • torch 2.11.0+cu128, torchvision 0.26.0+cu128, CUDA 12.8 reported by torch.version.cuda
  • pytest test/: 672 passed, 0 failed, 0 skipped, no warnings (RTX 6000 Ada, 88 s)
  • 0_hello_geolens.py, 0_hello_defocuslens.py, 0_hello_diffraclens.py, 0_hello_hybridlens.py all run to completion on GPU
  • ruff check . and ruff format --check . clean at ruff 0.16.5

🤖 Generated with Claude Code

sliyc and others added 2 commits October 13, 2026 23:50
Update the reproducible environment pins in requirements.txt from
torch 2.10.0 / torchvision 0.25.0 to torch 2.11.0 / torchvision 0.26.0
(CUDA 12.8 wheels on Linux/Windows, native wheels on macOS), and update
the matching Installation text in README.md.

The library ranges in pyproject.toml (torch>=2.10,<2.12,
torchvision>=0.25,<0.27) already admit 2.11.0 / 0.26.0, so they are
unchanged. The PyTorch >= 2.10 floor for safe PSFNet checkpoint loading
in deeplens/psfnetlens.py is unaffected.

Verified: 672 tests pass on an RTX 6000 Ada (torch 2.11.0+cu128,
torchvision 0.26.0+cu128, Python 3.12.12) with no warnings;
ruff check / ruff format --check clean at 0.16.5.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
PyTorch 2.11 removed Volta (SM 7.0, e.g. V100) from the CUDA 12.8 and 12.9
binary builds (pytorch/pytorch#172598). requirements.txt pins the cu128
wheels, so tell V100 users to switch to the cu126 index, where
torch 2.11.0+cu126 and torchvision 0.26.0+cu126 cp312 wheels are published.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@98zc5g5jyw-arch

Copy link
Copy Markdown

Verified against head 4375a9cabd493f78d609dbb25ce2e58dd15366ae (PyTorch 2.11.0 / torchvision 0.26.0 bump).

  • ✅ Scope: exactly 2 files (requirements.txt, README.md, +10/−6) — nothing out of scope touched.
  • ✅ Pin/README consistency: head requirements.txt has torch==2.11.0+cu128 / torchvision==0.26.0+cu128 for Linux/Windows and native torch==2.11.0 / torchvision==0.26.0 for Apple-silicon macOS; the README paragraph states the same. Base→head diff is only those 4 pins.
  • ✅ Versions exist: torch 2.11.0 and torchvision 0.26.0 are on PyPI with macosx_11_0_arm64 wheels, and torchvision 0.26.0 declares torch==2.11.0 — the two move in lockstep.
  • ✅ cu128 index spot-check: torch-2.11.0+cu128 listed for cp310–cp313 (manylinux_2_28 x86_64/aarch64, win_amd64, 21 entries); torchvision-0.26.0+cu128 cp312 manylinux_2_28_x86_64 and win_amd64 wheels both respond 200.
  • ✅ Out-of-scope files untouched: pyproject.toml ranges (torch>=2.10,<2.12, torchvision>=0.25,<0.27) already admit 2.11.0/0.26.0 and intentionally keep 2.10 supported, consistent with the runtime "PyTorch 2.10 or newer" gate; repo-wide search shows cu128 / torch== only in README + requirements.
  • ✅ The new Volta note matches upstream: PyTorch 2.11 release notes confirm CUDA 12.8/12.9 binaries drop sm_70, with cu126 as the fallback for V100-class GPUs.
  • ⚪ CI: gh pr checks reports no checks on chore/torch-2.11, so wheel installability is not exercised by CI on this PR.

Suggestions (optional):

  1. A small pip install -r requirements.txt smoke job on Linux + macOS runners would catch wheel-availability regressions on future bumps like this one.
  2. The older 2.10.0 string in test/test_performance_report_regressions.py is an intentional fixture for the version-gate test, not a stale pin — no change needed, just flagging it so it isn't mistaken for one during a future sweep.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants