forvalidation_batch_sizeandtest_batch_size, you should pick the largest batch size that your hardware can handle without running out of memory and crashing.
Finding this is usually a simple trial and error process.
The larger your batch size at inference time, the faster it will be, since more inputs can be processed in parallel.
centernet的resdcn18,batchsize64左右时,num woker调到20,每个epoch比设为0快10分钟(原来是17min)
摘抄:
num_worker大,下一轮迭代的batch可能在上一轮/上上一轮...迭代时已经加载好了。坏处是内存(显卡内存?)开销大(开了pin memory?) ,也加重了CPU负担。显存=显卡内存(内存单词是memory),作用是用来存储显卡芯片处理过或者即将提取的渲染数据。
如同计算机的内存一样,显存是用来存储要处理的图形信息的部件。(显存和GPU的关系有点类似于内存和CPU的关系)
CPU不能直接调用存储在硬盘上的系统、程序和数据,必须首先将硬盘的有关内容存储在内存中,这样才能被CPU读取运行。因而,内存(即物理 内存,是相对于硬盘这个“外存”而言)作为硬盘和CPU的“中转站”,对电脑运行速度有较大影响。
https://zhuanlan.zhihu.com/p/31558973
pin memory: 开了就在GPU上面预留一片固