如何通过限制GPU使用率来提高更快的RCNN的性能?

我们使用TensorFlow模型动物园的Faster Rcnn对1280 * 720 RGB图像进行了推断,对COCO数据集进行了训练,并得到了一些结果

测试案例1:   使用'tf.Session(graph = tf.Graph())'创建了一个tf会话

Batch Size = 4,GPU use = 100% (as default)
Time Taken for inference of 4 images = 0.32 secs

测试案例2:   然后,我们使用gpu_options将每个TF会话的gpu使用量限制为一小部分

'gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.40)'
'tf.Session(graph=tf.Graph(),config=tf.ConfigProto(gpu_options=gpu_options))'

  For a batch size of 2,the time taken for inference was 0.16secs,which is understandable because this is linear.

测试案例3:   将两个推理实例作为两个不同的python进程运行。在这里,两个批处理大小均为2。推理速度大大降低,最终值为0.32秒,与一个进程对批处理大小为4进行推理的情况相同。

Batch Size = 2,GPU use = 40%,Processes = 2
Time Taken = 0.32 secs
因此,在情况1和情况3中,花费的时间是相同的。 Q.1是否有任何减少时间的方法? Q.2瓶颈在哪里?同样在第一种情况下,似乎并没有利用整个GPU内存。因此,我们曾认为,如果将推理分为两部分,则可以更有效地利用资源。我们所了解的哪里出问题了?
lili_beijing 回答:如何通过限制GPU使用率来提高更快的RCNN的性能?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2959103.html

大家都在问