Yolov8未调用CUDA求助:已装CUDA12.1,如何让模型用GPU/VRAM
YOLOv8 调用 GPU 及 VRAM 的配置与验证
核心修正与验证步骤
简化GPU设置:你的代码中
model.to("cuda")和predict(device="cuda")属于重复设置,只需在predict方法中指定device="cuda"即可,YOLOv8会自动完成模型与推理数据的GPU加载:from ultralytics import YOLO model = YOLO('yolov8n.pt') results = model.predict(source="videoplayback.mp4", show=True, device="cuda")确认GPU运行状态:添加以下代码验证模型和推理结果是否确实在GPU上:
# 查看模型所在设备 print(f"Model device: {model.device}") # 查看单条推理结果的设备 print(f"Result device: {results[0].device}")正常输出应为
cuda:0,说明GPU已被正确调用。验证VRAM占用情况:
- 命令行方式:执行
nvidia-smi(Windows/Linux通用),查看Used GPU Memory列数值,推理过程中该数值会明显上升。 - 代码内统计:在推理前后添加显存监控代码:
import torch # 推理前已分配显存 print(f"Pre-inference allocated memory: {torch.cuda.memory_allocated()/1024**2:.2f} MB") results = model.predict(source="videoplayback.mp4", show=True, device="cuda") # 推理后已分配显存 print(f"Post-inference allocated memory: {torch.cuda.memory_allocated()/1024**2:.2f} MB") # 推理后显存预留总量 print(f"Post-inference reserved memory: {torch.cuda.memory_reserved()/1024**2:.2f} MB")
- 命令行方式:执行
常见问题排查
- 若未使用GPU:确认
ultralytics与torch版本适配,CUDA 12.1需搭配支持该版本的PyTorch(建议安装2.0及以上版本)。 - VRAM占用过低:可能是视频分辨率低或模型规格过小(如yolov8n是最小量级模型),可尝试切换yolov8s/m/l/x等更大模型提升显存利用率。
内容的提问来源于stack exchange,提问作者Erik Orosz
相关产品推荐
相关产品推荐

