You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写同时适配CPU与GPU平台的PyTorch requirements.txt

跨平台兼容GPU/非GPU的PyTorch依赖配置方案

不需要强制维护多份独立的requirements.txt文件,可以根据项目的使用场景选择对应配置方式,同时覆盖Linux GPU环境、CPU-only环境、Mac(Intel/Apple Silicon)环境。

你当前配置无法跨平台兼容的核心原因有两个:一是硬编码了+cu113的CUDA专属版本后缀,这类带后缀的安装包仅对应CUDA11.3的Linux/Windows环境,其他平台不存在对应构建包;二是写死了指向CUDA113资源的--find-links源,会引导pip优先查找仅适配CUDA环境的安装资源。


方案1:单文件通用配置(推荐,维护成本最低)

直接移除固定CUDA源的配置、去掉版本号后的CUDA后缀,修改后的requirements.txt内容如下:

torch==1.10.2
torchvision==0.11.3
pytorch-lightning==1.5.10

这个配置的适配逻辑完全由pip自动处理:

  • 在搭载CUDA11.3的Linux/Windows GPU设备上,pip会自动优先拉取对应cu113版本的PyTorch,安装后可正常调用GPU
  • 在无CUDA的x86架构设备上,会自动安装CPU版本的torch、torchvision
  • 在Intel芯片Mac、Apple Silicon芯片Mac上,会自动匹配对应macOS平台的安装包,Apple Silicon设备安装后可原生支持MPS加速

如果遇到国内网络下载慢的问题,让用户自行配置全局PyPI镜像即可,不要在requirements文件中写死某一平台专属的下载源,避免干扰其他平台的包匹配逻辑。


方案2:分场景多文件配置(适合需要明确指引的开源项目)

如果需要给不同场景的用户提供更明确的安装指引、避免自动匹配可能出现的版本问题,可以采用「基础依赖+场景依赖」的拆分方式,维护成本也很低:

  1. 新建通用基础依赖文件requirements.txt,存放所有跨平台通用的依赖:
    pytorch-lightning==1.5.10
    
  2. 新建GPU用户专属依赖文件requirements-gpu.txt:
    --find-links https://download.pytorch.org/whl/cu113/torch_stable.html
    -r requirements.txt
    torch==1.10.2+cu113
    torchvision==0.11.3+cu113
    
  3. 新建CPU/Mac用户专属依赖文件requirements-cpu.txt:
    --find-links https://download.pytorch.org/whl/cpu/torch_stable.html
    -r requirements.txt
    torch==1.10.2+cpu
    torchvision==0.11.3+cpu
    

不同用户安装时对应执行命令即可:

  • CUDA GPU用户执行:pip install -r requirements-gpu.txt
  • Mac用户、无GPU的Linux/Windows用户执行:pip install -r requirements-cpu.txt

注意:永远不要在通用依赖文件里写死带+cuXXX、+cpu这类后缀的PyTorch版本号,这类后缀是PyTorch官方针对特定运行环境编译的专属包标记,跨环境安装会直接触发「找不到匹配版本」的报错。


内容的提问来源于stack exchange,提问作者Luca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 21:36:26