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

GPU训练的PyTorch模型在CPU运行报错的解决求助

解决Detecto模型在CPU设备上运行的问题

问题根源

Detecto默认优先尝试使用CUDA设备,即使安装了CPU版PyTorch,部分内部逻辑仍可能强制检查CUDA支持,导致断言错误。单纯设置torch.device('cpu')无法覆盖Detecto模型加载和推理的全流程。

分步解决方案

  1. 彻底重装CPU版PyTorch
    先清理所有残留的PyTorch包,避免版本冲突:

    pip3 uninstall -y torch torchvision torchaudio
    

    重新安装纯CPU版本:

    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
    

    验证安装是否成功:

    import torch
    print(torch.cuda.is_available())  # 应输出False
    
  2. 修改模型加载与推理代码,强制指定CPU
    Detecto的Model类支持加载时指定设备,需显式传入CPU设备:

    import torch
    from detecto.core import Model
    from detecto.utils import read_image
    
    # 定义CPU设备
    device = torch.device('cpu')
    
    # 加载模型时指定device参数
    model = Model.load('你的模型权重文件.pth', ['类别1', '类别2'], device=device)
    
    # 推理时确保图像张量也移到CPU
    test_image = read_image('测试图片.jpg')
    test_image = test_image.to(device)
    
    # 执行推理
    labels, boxes, scores = model.predict(test_image)
    
  3. 升级Detecto到最新版本
    旧版本Detecto可能存在CPU兼容bug,升级到最新版修复:

    pip3 install --upgrade detecto
    
  4. 排查代码中硬编码的CUDA调用
    检查代码中是否有手动调用.cuda()、torch.cuda.*的语句,全部替换为to(device)或者直接移除相关CUDA专属逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 06:02:38