PaddlePaddle / PaddleYOLO

🚀🚀🚀 YOLO series of PaddlePaddle implementation, PP-YOLOE+, RT-DETR, YOLOv5, YOLOv6, YOLOv7, YOLOv8, YOLOX, YOLOv5u, YOLOv7u, YOLOv6Lite, RTMDet and so on. 🚀🚀🚀
https://github.com/PaddlePaddle/PaddleYOLO
GNU General Public License v3.0
534 stars 132 forks source link

speed up yolo5 #222

Closed wanghuancoder closed 2 months ago

wanghuancoder commented 2 months ago
  1. Dataloader产生的Tensor都是pinned的,在训练过程中会出现多出同步H2D拷贝,造成打断。 a. 这个模型的修复,只需将data["image"]转为gpu,别的可以先不用转
  2. 前向随机位置出现gap,被Dataloader线程抢占GIL锁,导致主线程阻塞,无法加载Kernel a. 原因是将use_shared_memory设为了false
  3. ema运算不需要构建反向图,构建反向图是耗时的。可以加with no_grad
  4. 有一段loss的运算在CPU上就可以,放到GPU上反而更慢
  5. 本地实验,以上改动可以将IPS从60提升到100
paddle-bot[bot] commented 2 months ago

Thanks for your contribution!