参考链接: https://blog.csdn.net/qq_32998593/article/details/92849585
总结一下, 第一是增加 batch size, 增加 GPU 的内存占用率, 尽量用完内存, 而不要剩一半, 空的内存给另外的程序用, 两个任务的效率都会非常低.
第二, 在数据加载时候, 将 num_workers 线程数设置稍微大一点, 推荐是 8,16 等, 且开启 pin_memory=True., 直接映射数据到 GPU 的专用内存, 减少数据传输时间.
GPU 和 CPU 的数据瓶颈得到解决. 整体性能得到权衡. 不要将整个任务放在主进程里面做, 这样消耗 CPU, 且速度和性能极为低下.
来源: http://www.bubuko.com/infodetail-3189408.html