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

深度学习时的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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改