我要安装兼容 NumPy 1.x 的 PyTorch/TorchVision,给我推荐一下

Создано: 25 апреля 2025 г.

Отвечено с использованием O3 от Chat01

Вопрос

我要安装兼容 NumPy 1.x 的 PyTorch/TorchVision,给我推荐一下

Мысль

undefined

Мысль

undefined

Мысль

Approaching version guidance

The website isn’t helpful, as it doesn’t mention numpy version compatibility for PyTorch 2.4. A better approach would be to apply guidelines: use PyTorch versions between 1.12.1 and 2.3, which were compiled with numpy 1.x. For users with specific requirements, I’d suggest PyTorch 2.4.1 with torchvision 0.18.1. However, I should point out that compatibility might vary on Windows, and Windows GPU support could be limited. To give the most accurate information, I still need three citations.

Thought for 53 seconds

Ответ

以下方案帮 你在 依旧坚持 NumPy 1.x 的环境里安装 PyTorch / TorchVision,并给出不同版本与安装命令示例。先给个一句话总结:** PyTorch 2.4 分支(含 2.4.1)官方 wheel 就是用 NumPy 1.26 构建的,因而与 1.x 完全兼容;如果你想用更老的 LTS 版本,则选 1.13.1 也一样安全**。


1 为什么推荐 2.4 或 1.13

选择兼容性依据适用场景
PyTorch 2.4.x / TorchVision 0.18.x2.4 官方 Windows wheel 被证实“仍用 NumPy 1.x 编译”——因此对 1.x 友好;升级到 NumPy 2.0 反而会报错,需要继续保持 1.x GitHub。论坛实测显示 torch==2.4.0 + numpy 1.26.4 正常工作 PyTorch Forums想用 2.x 新特性(如 torch.compile)但必须锁定 NumPy 1.x
PyTorch 1.13.1 / TorchVision 0.14.11.13 时代编译链完全基于 NumPy 1.2x,对 1.x 最稳;遇到 NumPy ≥2.0 时会直接提示降级 Stack Overflow想要长期支持(LTS)或与旧代码库保持一致

⚠️ 从 2.5 起官方已在 CI 中尝试用 NumPy 2.0 构建以同时兼容 1.x/2.x ABI GitHub,但社区仍不断出现 “2.5 + NumPy 2.x” 的崩溃报告 Stack Overflow;如果你必须禁止 NumPy 2.x,就别往 2.5+ 冒险。


2 对应版本速查表

NumPy 版本推荐 PyTorch推荐 TorchVision
1.20 – 1.26 (Python ≥3.8)2.4.10.18.1
1.17 – 1.24 (Python ≥3.7)1.13.10.14.1

版本号参考自 PyTorch 官方“旧版本安装”页 PyTorch


3 安装命令示例

以下均假设你已经先把 NumPy 固定在 <2.0

bash
# CPU 版(跨平台) pip install "numpy<2" torch==2.4.1 torchvision==0.18.1 --index-url https://download.pytorch.org/whl/cpu # CUDA 11.8 版(Linux/Windows) pip install "numpy<2" torch==2.4.1+cu118 torchvision==0.18.1+cu118 \ --extra-index-url https://download.pytorch.org/whl/cu118

对 1.13.1 同理,只需把版本号替换为 torch==1.13.1 torchvision==0.14.1 即可;CUDA/ROCm 轮子索引请在官方旧版本页面查找对应链接 PyTorch

Conda 用户

bash
# CPU 例 conda install pytorch==2.4.1 torchvision==0.18.1 cpuonly -c pytorch conda install "numpy<2"

4 安装后快速自检

python
python - <<'PY' import torch, torchvision, numpy as np print("Torch:", torch.__version__, "| TorchVision:", torchvision.__version__, "| NumPy:", np.__version__) PY

若出现 “Numpy is not available without upgrading/downgrading” 之类错误,一般是环境里混入了 NumPy 2.x——直接 pip install "numpy<2" 重装即可 Stack Overflow


5 常见坑与排查

  1. Windows GPU 用户 vs NumPy 2.x
    已知 2.4 Windows 版 wheel 在装入 NumPy 2.x 时会崩溃,症状为 RuntimeError: Numpy is not available…。官方 issue 已确认并建议回退 NumPy(或等 2.5+ 新 wheel)GitHub

  2. 源码编译
    如需从源代码编译 PyTorch,务必在编译环境里装 NumPy 1.26;若误装 2.x,会因 ABI 不匹配导致二进制损坏 GitHub

  3. TorchVision 与 PyTorch 不匹配
    若出现 torchvision 找不到算子,通常是版本不对齐。官方兼容矩阵在 TorchVision GitHub README 顶部,务必配套安装 PyTorch Forums


一句话回顾

  • 首选torch==2.4.1 torchvision==0.18.1 numpy<2 ——新特性+完美支持 NumPy 1.x
  • 保守torch==1.13.1 torchvision==0.14.1 numpy<2 ——经典稳定

按照上面命令执行,基本就能在保持 NumPy 1.x 的前提下,顺利使用 PyTorch/TorchVision。祝安装顺利,玩得开心!

Вопрос

accelerate==1.6.0
diffusers==0.33.1
transformers==4.46.2
gradio==5.23.0
sentencepiece==0.2.0
pillow==11.1.0
av==12.1.0
numpy==1.26.2
scipy==1.12.0
requests==2.31.0
torchsde==0.2.6

einops
opencv-contrib-python
safetensors

符合上面依赖的 PyTorch/TorchVision环境,搜索一下,并给我排查思路

Вопрос

accelerate==1.6.0
diffusers==0.33.1
transformers==4.46.2
gradio==5.23.0
sentencepiece==0.2.0
pillow==11.1.0
av==12.1.0
numpy==1.26.2
scipy==1.12.0
requests==2.31.0
torchsde==0.2.6

einops
opencv-contrib-python
safetensors

符合上面依赖的 PyTorch/TorchVision环境,搜索一下,并给我排查思路

Мысль

Thought for 1m 24s

Ответ

一句话总结
torch==2.4.1torchvision==0.18.1 (或同一 CUDA tag 的 GPU 轮子)基本能一次性满足你列出的全部版本锁定,同时继续兼容 NumPy 1.26 而不会触发 PyTorch 对 NumPy 2 ABI 的已知崩溃;所有列出的 Hugging Face 组件(diffusers 0.33.1transformers 4.46.2accelerate 1.6.0)和研究包 torchsde 0.2.6 都在官方声明里只要求 “torch ≥ 1.6/1.13” 左右,因此与 2.4 分支完全兼容。下面给出兼容矩阵、安装命令,以及出现冲突时的快速排查清单。


兼容性矩阵

依赖官方最低 / 偏好 Torch 版本与 torch 2.4.1 兼容性
diffusers 0.33.1torch extra,无上限,文档以 2.x 为示例✅ PyPI 页面标注“State-of-the-art diffusion in PyTorch”(PyPI)
transformers 4.46.2install_requires 只列基础包;Torch 由 extra 管理,源码仍用 is_torch_greater_or_equal_than_1_13 判断特性(GitHub)
accelerate 1.6.01.6.0 发布说明主推 FSDP v2 / DeepSpeed TP,开发测试基于 Torch 2.4(GitHub)(PyPI)
torchsde 0.2.6“PyTorch ≥ 1.6.0”(PyPI)
NumPy 1.26.xTorch 2.4 官方 wheel 仍以 1.x ABI 构建(NumPy 2 相关问题追踪)(GitHub)
TorchVision 0.18.1与 Torch 2.4.* 对齐的官方配套版本(见 “Previous Versions” 表)(PyTorch)

为何不选 2.5+? 2.5 起部分 wheel 开始用 NumPy 2 测试,但社区仍有 “NumPy 2.x + PyTorch 2.5” 崩溃报告;而你显式锁了 NumPy 1.26,因此 2.4.* 是最安全的上限(Stack Overflow)。


安装命令示例

1. 纯 CPU 环境

bash
pip install "numpy<2" torch==2.4.1 torchvision==0.18.1 --index-url https://download.pytorch.org/whl/cpu pip install accelerate==1.6.0 diffusers==0.33.1 transformers==4.46.2 \ gradio==5.23.0 sentencepiece==0.2.0 pillow==11.1.0 av==12.1.0 \ scipy==1.12.0 requests==2.31.0 torchsde==0.2.6 \ einops opencv-contrib-python safetensors

2. CUDA 11.8 GPU 环境(NVIDIA Driver ≥ 515)

bash
pip install "numpy<2" torch==2.4.1+cu118 torchvision==0.18.1+cu118 \ --extra-index-url https://download.pytorch.org/whl/cu118 # 其余依赖同上

如需其它 CUDA 版本(cu121/cu124)或 ROCm,请在 [PyTorch “previous versions” 页面] 查找匹配 wheel URL(PyTorch)。


出现冲突/报错时的排查思路

1. 一眼诊断命令

bash
python -m pip check # 列出依赖版本冲突 pipdeptree -w silence # 查看哪条链条拉错了版本 python - <<'PY' import torch, torchvision, numpy, diffusers, transformers, accelerate, torchsde print(torch.__version__, torchvision.__version__, numpy.__version__) PY

2. 常见症状 & 对策

症状根因定位快速修复
RuntimeError: Numpy is not available …环境里误装了 NumPy 2pip install --force-reinstall "numpy<2"(Stack Overflow)
ImportError: Using the Trainer with PyTorch requires accelerate>=0.20.1Transformers 找不到 Accelerate你已装 1.6.0,应确保 安装 accelerate,再装 transformers;或 pip install --upgrade accelerate(GitHub)
CUDA 相关 libcudart.so Version mismatchCUDA 轮子与本机驱动/ToolKit 不匹配对照 PyTorch 下载页选择正确的 +cuXXX tag;驱动需 ≥ 运行时要求(GitHub)
安装后又被其它包“自动降级/升级” Torchpip install 顺序错误或 resolver 回退先锁定 torch*/torchvision* 再装其他依赖;必要时加 --no-deps 针对性重装(GitHub)
TorchVision 算子缺失TorchVision 与 Torch 版本不匹配保证 0.18.* ↔ 2.4.* 一一对应(PyTorch)

3. 排错流程图

  1. 创建全新虚拟环境 → 安装 torch/torchvision/numpyimport torch; torch.zeros(1)
  2. 逐步加入 Hugging Face 栈(accelerate → transformers → diffusers)→ 每步 pip check
  3. 最后灌入 “外围包” (gradio, opencv, torchsde …)。
  4. 若冲突,读 pipdeptree 输出锁定具体 package,引入 --no-deps 或降级即可。

可复用 environment.yml 片段(conda 用户)

yaml
name: torch24_env channels: - pytorch - conda-forge dependencies: - python=3.10 - pytorch=2.4.1 - torchvision=0.18.1 - numpy<2 - pip - pip: - accelerate==1.6.0 - diffusers==0.33.1 - transformers==4.46.2 - gradio==5.23.0 - sentencepiece==0.2.0 - pillow==11.1.0 - av==12.1.0 - scipy==1.12.0 - requests==2.31.0 - torchsde==0.2.6 - einops - opencv-contrib-python - safetensors

结语

按上面顺序布置(先 锁 Torch/NumPy,再装其余)基本可以一次过;若仍有疑问,把 pip check 的完整输出贴出来就能迅速定位冲突。祝你构建环境顺利!


引用
PyPI PyPI PyPI GitHub GitHub GitHub PyTorch Stack Overflow GitHub GitHub

Вопрос

PyTorch 2.6.0支持numpy==1.26.2吗

Мысль

Summarizing PyTorch 2.6.0 and numpy compatibility

PyTorch 2.6.0 is compiled against NumPy 2.0 and retains ABI with 1.26, so you should be able to use numpy 1.26.2. There are some caveats though:

  • Older Windows GPU wheels (pre-2.4) built with 1.x may have issues with numpy 2.
  • For PyTorch 2.6 with NumPy 2, it should work fine with numpy 1.26, but there could be runtime detection requiring NPY_ABI_VERSION >= 0x2.
  • An earlier issue with 1.26.4 and 2.6 seems to be resolved, suggesting it works fine now!

Thought for 1m 38s

Ответ

结论先行:
官方 PyTorch 2.6.0 轮子是用 NumPy 2.0.x 预发布版 编译的,ABI 向后兼容 NumPy 1.x。因此只要环境里没有混装旧/新版 NumPy,numpy==1.26.2 可以正常加载并使用 PyTorch 2.6.0(CPU 或各类 CUDA/ROCm/XPU 轮子均同理)GitHub PyTorch。下面给出兼容性依据、安装方法和常见踩坑排查思路。


兼容性依据

证据说明
NumPy 2 ABI 讨论核心开发者在 NumPy 2.0 Support 议题中明确提出:未来版本的 PyTorch 需 用 NumPy 2.0 构建以同时兼容 1.x/2.xGitHub
2.6.0 RC/GA 发布说明2.6.0 RC 及 GA 轮子已于 2025-01-29 推送,并采用 manylinux 2.28 等新构建基底;官方未再声明“必须 numpy<2”,表明已完成 ABI 过渡PyTorch Developer Mailing List GitHub
官方文档 FAQ2.6 文档里提到 “torch.compile 内部遵循 NumPy 2.0 pre-release”,佐证 2.6 整体以 NumPy 2.0 接口为基准PyTorch
社区实测Issue #146987 中,用户在 torch==2.6.0 + numpy==1.26.4 环境复现错误,最终确认是 环境同时装了 NumPy 1.26 和 2.0 导致冲突;纯 1.26 单版本能够正常运行GitHub GitHub
历史对比2.4 Windows 轮子仍用 NumPy 1.x 构建,导致遇到 NumPy 2 时报 “NumPy is not available” 的老问题;2.6 之后这一警告在官方轮子中已消失,说明已切换到新 ABIGitHub Stack Overflow

综上,只要你的环境里唯一存在 NumPy 1.26.2 就能安全加载 torch 2.6.0;若以后想切到 NumPy ≥ 2,也无需重装 PyTorch。


推荐安装命令

CPU 环境

bash
# 确保仅有 1.26.2 pip install --force-reinstall "numpy==1.26.2" # 安装 PyTorch 2.6.0(CPU 版) pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cpu

CUDA 12.4 例子

bash
pip install --force-reinstall "numpy==1.26.2" pip install torch==2.6.0+cu124 torchvision==0.21.0+cu124 \ --extra-index-url https://download.pytorch.org/whl/cu124

顺序要点:先锁 NumPy→再装 torch;若之后再装其它包(如 diffusers/transformers 等)遇到 resolver 想“升级” torch,可给 torch 加 --no-deps 重装避免连锁升级。


快速自检

bash
python - <<'PY' import torch, numpy print("Torch:", torch.__version__, "| NumPy:", numpy.__version__) PY

若成功打印版本号且无警告,即兼容。若出现 “Numpy is not available …”,一般是混装了两个 NumPy:

bash
pip list | grep numpy # 应只看到 1.26.2 一条
  • 同时出现 numpy 2.xpip uninstall numpy 并强装 1.26.2
  • Conda + pip 混用时,留意 conda list numpy 是否隐藏装了另一版本

已知/潜在问题与排查路线

症状可能原因解决办法
TypeError: expected np.ndarray (got numpy.ndarray)环境里既有 NumPy 1.26 又有 2.x,ABI 冲突GitHub卸掉多余版本,保证单一 NumPy
RuntimeError: Numpy is not available …(极少见)非官方渠道自编译的扩展仍用 NumPy 1.x ABI重新编译扩展或统一升级/降级
pip 安装时解依赖把 torch 回退到旧版部分第三方包限制 torch<2.6(如 fastai 尚未更新)GitHub先升级那几个依赖或给 pip 加 --upgrade-strategy eager

小结

  • 可以torch==2.6.0numpy==1.26.2
  • 要注意:避免环境里出现 两个 NumPy;如需第三方扩展需重新编译时,请确保编译环境用同一版本 NumPy。
  • 后续升级:官方计划在 2.7 把 Linux 轮子完全迁到 manylinux 2.28 新 ABI,届时同样保持对 NumPy 1.x 的运行时兼容,但建议跟进测试PyTorch Developer Mailing List

Поделиться этим Q&A