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

使用Spacy 3.4.1训练NER模型时无法识别GPU的问题

解决Spacy 3.4.1训练NER模型时无法识别GPU的问题

针对你遇到的Spacy切换GPU模式后仍用CPU、添加--gpu-id 0报错ValueError: No GPU devices detected,但nvidia-smi和torch.cuda正常的问题,可按以下步骤排查解决:

1. 安装匹配CUDA版本的Spacy依赖

Spacy基础版本默认不带CUDA支持,需安装对应CUDA11.6的扩展包:

pip install spacy[cuda116]

注意确保在当前训练使用的Python虚拟环境中执行该命令,避免环境冲突。

2. 验证Spacy自身的GPU检测能力

运行以下Python代码,确认Spacy能否识别GPU:

import spacy
print(spacy.require_gpu())
  • 若返回True,说明Spacy已正确识别GPU;
  • 若返回False,回到步骤1重新安装CUDA扩展包,或检查虚拟环境是否激活。

3. 调整配置文件的GPU设置

检查Quickstart生成的config.cfg文件:

  • 找到[system]段,确保gpu_id设置为0(而非-1,-1代表强制使用CPU);
  • 若不想修改配置文件,可在训练命令中通过--override参数临时覆盖:
    python -m spacy train config.cfg --output ./output --gpu-id 0 --override system.gpu_id=0
    

4. 确认PyTorch与CUDA版本兼容

Spacy依赖PyTorch实现GPU加速,需确保PyTorch版本支持CUDA11.6:
运行以下代码查看PyTorch的CUDA版本:

import torch
print(torch.version.cuda)

若输出不是11.6,安装匹配版本的PyTorch:

pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116

5. 检查环境变量设置

执行以下命令确保GPU可见性:

export CUDA_VISIBLE_DEVICES=0

之后再运行Spacy训练命令,避免环境变量导致的GPU不可见问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:17:29