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

Windows10下使用CUDA时YOLOv8崩溃求助

环境信息
  • CUDA版本:12.1
  • PyTorch相关组件:
    • torch==2.1.0+cu121
    • torchaudio==2.1.0+cu121
    • torchvision==0.16.0
  • Ultralytics版本:ultralytics==8.0.132
  • GPU:NVIDIA GeForce RTX 2060 SUPER

CUDA可用性验证代码及结果:

import torch

print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))

输出:

True
NVIDIA GeForce RTX 2060 SUPER
问题

运行原CPU环境下正常的脚本时,执行model.track(source=source, show=False, stream=True, verbose=False)行崩溃,报错提示无法在CUDA后端运行torchvision::nms,该算子仅支持CPU等后端。已尝试重装CUDA、PyTorch和Ultralytics,问题仍未解决。

解决方案
  1. 统一torchvision的CUDA版本
    当前torchvision为CPU版本,需安装匹配cu121的版本,执行命令:
pip install torchvision==0.16.0+cu121 --index-url https://download.pytorch.org/whl/cu121

确保torch、torchvision的CUDA版本完全一致,避免混合环境导致算子不兼容。

  1. 替换NMS后端实现
    在初始化模型前添加代码,强制使用PyTorch原生CUDA兼容的NMS:
import torch
import torchvision

# 替换torchvision NMS为PyTorch原生算子
torchvision.ops.nms = torch.ops.torchvision.nms

或者在Ultralytics模型配置中指定NMS后端:

from ultralytics import YOLO

model = YOLO('your_model_path.pt')
# 强制使用PyTorch NMS
model.overrides['nms_backend'] = 'torch'
results = model.track(source=source, show=False, stream=True, verbose=False)
  1. 降级Ultralytics版本
    部分新版本Ultralytics与PyTorch 2.1.0+cu121组合存在适配问题,尝试降级到稳定版本:
pip install ultralytics==8.0.120
  1. 明确指定设备运行
    调用track时显式指定CUDA设备,确保模型和数据都加载到GPU:
results = model.track(source=source, show=False, stream=True, verbose=False, device='cuda')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:17:09