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

Spacy、CUDA、PyTorch与Python版本兼容问题解决方案咨询

解决Spacy+PyTorch+CUDA10.1版本兼容问题

核心矛盾梳理

你的问题本质是版本链的冲突:

  • Spacy 3.7.4要求Python 3.8-3.11,且PyTorch ≥1.13.0或TensorFlow ≥2.12.0
  • CUDA 10.1支持的最高PyTorch版本为1.9.0(PyTorch 1.10.0及以上不再兼容CUDA 10.1)
  • 你当前的Python 3.12超出Spacy 3.7.4的支持范围

可行解决方案:降级Spacy+Python+PyTorch到兼容组合

选择Spacy 3.2.x + Python 3.9.x + PyTorch 1.9.0+cu101的组合,这套组合同时满足:

  1. PyTorch 1.9.0支持CUDA 10.1
  2. Spacy 3.2.x兼容PyTorch 1.8.0+
  3. Python 3.9.x同时适配前两者

具体操作步骤

  1. 降级Python到3.9.x
    推荐安装Python 3.9.18(稳定版),可通过pyenv或系统包管理器完成,避免影响全局环境。

  2. 创建并激活虚拟环境

    python3.9 -m venv spacy_ner_env
    source spacy_ner_env/bin/activate
    
  3. 安装兼容CUDA10.1的PyTorch

    pip install torch==1.9.0+cu101 torchvision==0.10.0+cu101 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
    
  4. 安装对应版本的Spacy和Transformer组件

    pip install spacy==3.2.6
    pip install spacy-transformers==1.2.5
    
  5. 验证GPU可用性
    在Python交互环境中运行以下代码:

    import spacy
    from spacy_transformers.util import torch_gpu_is_available
    
    print("GPU是否可用:", torch_gpu_is_available())
    nlp = spacy.load("en_core_web_trf")
    print("加载的Pipeline组件:", nlp.pipe_names)
    print("模型运行设备:", nlp.transformer.model.device)
    

    输出显示cuda:0即说明GPU已正常启用。

注意事项

  • 若需使用自定义Transformer模型,确保模型兼容PyTorch 1.9.0(如BERT-base、RoBERTa-base等经典模型均无问题)
  • 避免使用全局环境安装,虚拟环境能有效隔离版本冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:12:52