weixin_51497416 2023-01-31 19:05 采纳率: 90%
浏览 53
已结题

深度学习时的gpu和cpu使用率

在pytorch环境下进行深度学习,在没有其他后台的情况下,cpu的占用率在50%左右,gpu只有5%左右,但cuda的使用率能达到70%。此时的速度很慢,数据集大概700张图片左右,一个epoch就需要将近4分钟。

img


这种情况是正常的吗?还是说是没有设置好?
另外跑了400个epoch后,loss保持在0.01左右,这个loss怎么样?
ps:笔记本的配置是R7-4800H+RTX2060(6GB),环境为py3.9,pytorch1.8.1,cuda11.1

  • 写回答

4条回答 默认 最新

  • 爱晚乏客游 2023-02-01 09:15
    关注

    简单来说,gpu的利用率是指平均利用率而不是瞬时。所以你这个是显卡有调用,但是由于显卡计算速度快,而数据读到显卡里面慢的问题。也就是显卡计算完毕之后是在等待cpu指令然后内存给数据,他是空闲状态才导致利用率低的。所以你这个目前瓶颈是在IO这里,看情况应该是内存不够大,导致没法一次性加载多个batch数据等待GPU计算,导致GPU计算完毕之后是空闲状态,这种情况只能加内存,笔记本双通道如果都满了的话就没法子了,也不建议一次换16*2的内存(土豪请无视)。你可以将num worker设置的再大一些看下情况。
    另外,你这个模型本身应该也是挺大的吧,700张图像4分钟还算可以接受的范围啊。

    最后,笔记本本来就不适合训练,只适合学习的,偶尔跑跑还行,要想训练出结果,还得是台式机或者服务器,毕竟显卡对比桌面GPU性能啥的基本上都给你砍了一半左右

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月9日
  • 已采纳回答 2月1日
  • 创建了问题 1月31日

悬赏问题

  • ¥15 C#字典调用时报错,有关文件加载
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 关于PHP中POST获取数据的问题
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Python实现hog特征图可视化
  • ¥30 德飞莱51单片机实现C4炸弹
  • ¥50 CrossLink-LIF-MD6000 型 FPGA 的 CMOS 转 MIPI D-PHY IP 核功能使用异常