cock_coke 2022-08-13 16:38 采纳率: 40%
浏览 174
已结题

关于网络训练过程中cpu使用率过低的问题

描述一下我的情况。我训一个CNN网络时单个物体差不多一万张数据的时候,num_worker取的是8,pin_memory也设置为true,第一个epoch比较慢,差不多20分钟;但之后cpu6个核心的使用率都能接近百分百,而gpu的使用率基本保持在90以上,训得飞快,基本一个1个epoch3分钟就拿下了,那是多么赏心悦目啊。
可是当我不变化配置地喂入全部8个物体约八万条数据后cpu总体使用率就一直比较低,通过top指令查看在20%以下(20%!以下!),自然也就导致显卡使用率也上不去,大多数时候都是个位数,偶尔跳到90几(每0.5s观测nvidia-smi)。第一个epoch三个半小时,其后的每个epoch一个半小时,整个训练速度不成比例的变慢了好多,并且没跑其他程序。这个问题已经折腾两天了,算上之前懵懵懂懂地以为就只能这么快的时间就更长了。我加上了监视器的两张图片,链接在下(不大会发图片)。期待能有站友解决我的疑惑
https://weibo.com/u/7639430630?from=feed&loc=avatar&is_all=1
配置:3060显卡,驱动515.65,cuda11.1, cudnn8.0.5, 主板芯片组:B365颜色分类:i5 9600KF+B365M AORUS ELITE, 内存容量:8GBx2根

  • 写回答

1条回答 默认 最新

  • kakaccys 2022-08-13 17:27
    关注

    楼主,我没太搞明白的是你到底是gpu训练还是cpu训练?还有你的batch_size是多少?数据增加后有变化batch_size吗?还有你有观察内存和虚存吗?目前看你的内存有点差啊,虽然gpu运算中主要用显存,但是数据是从内存拷贝到显存的这个过程的io,当你没有太多内存空间的时候,会很浪费时间,导致cpu也上不去,即使你是cpu训练,当内存不太够的时候,也会出现这情况。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月21日
  • 已采纳回答 8月13日
  • 修改了问题 8月13日
  • 修改了问题 8月13日
  • 展开全部

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?