平台是win10,cpu是Intel® Core™ i5-8300H CPU @ 2.30GHz(一共4核,在这里分配了最多3核做推断),工具是openvino的DL Workbench。
下图的点从左至右的batch_size依次为1、16、32、48和64。
这是cpu核数为1时的推断结果图。
可以看出,随着batch_size的增加,延迟和fps均增加,直到在某个值后,fps不再增加,仅延迟增加。我们知道,推断的延迟和fps是一组矛盾的数据:在给定cpu时,低延迟往往意味着低fps(因为要尽量快地对输入图片进行反应,就会导致cpu性能不能得到充分的应用),而高fps则往往意味着高延迟(尽可能地利用cpu的性能使得单位时间推断的图片数更多,则往往会导致图片的平均等待时间即延迟的提升)。
所以上图左边曲线的增长是很科学的。而在右侧,fps不再增加,而延迟继续增长,这是因为batch_size的增长已经触及了cpu性能的上限。在这个时候,继续增加batch_size并不能增加fps,反而因为要处理的图片数增加,而增加推断的延迟。
上图是cpu核数为3时的结果。其基本形状与cpu核数为1时基本一致,原因在上面已有过阐述。但区别在于,在cpu核数为1时,fps的增长在batch_size为32左右时达到了极限,而