You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyTorch推理速度随调用频率提升的原因排查求助

PyTorch推理测速:高频调用下平均耗时降低的原因分析

我在用PyTorch做图像推理测速时发现一个奇怪现象:推理流水线调用频率越高,单条推理的平均耗时反而越短。具体数据如下:

  • 调用频率约10Hz时,每1000次推理的平均耗时约1ms
  • 调用频率达到1000Hz时,每1000次推理的平均耗时降至500-600μs,性能提升明显
  • 该现象在CPU和GPU推理场景下均存在

我初步猜测原因可能是以下三者之一:

  • 计时方式存在错误
  • 高频调用推理会触发某种性能提升机制
  • 同一多进程中的其他代码在低频率时占用GIL(但我认为该猜测不合理)

请问各位有什么思路?


核心计时与推理代码

try:
    self.new_img = image_queue.get(False)
    t1 = timeit.default_timer()
    decision = self.inference_model(self.new_img)
    self.total_time += timeit.default_timer() - t1
    self._counter += 1

    if self._counter % 1000 == 0:
        print("Avg Time:", self.total_time/1000)
        self.total_time = 0
except queue.Empty:
    pass

推理函数实现

def inference_model(self, img):
    outputs = self.model(img)
    _, predicted = torch.max(outputs.data, 1)
    self.output = outputs.data.tolist()[0]
    return predicted.item()

编辑补充

  1. 根据评论提示,意识到队列的try/except逻辑可能导致问题,已更新上述代码
  2. 将get(False)改为get()后,现象仍未改变

内容的提问来源于stack exchange,提问作者kgenbio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 21:43:09