1

问题: 如何在不重新训练模型的情况下改善 Web 部署的模型延迟?我应该标记哪些清单以提高模型速度?

背景: 我有多个模型,它们在一台机器上按顺序处理视频,带有一个 K80 GPU;每个模型大约需要 5 分钟来处理一个 1 分钟长的视频。在不改变模型架构的情况下,我应该尝试哪些想法和建议来改善每个模型的延迟?我应该如何构建我对这个问题的思考?

4

1 回答 1

0
  1. 如果适合您的用例,采样帧是最简单的技术。选择每 5 帧进行推理将使推理时间减少约 5 倍(理论上)。需要注意的是,如果您正在处理诸如对象跟踪之类的任务,则会降低准确性。
  2. fp32 到 fp16 可能会提高您的推理速度。
  3. Batch Inference 总是将推理时间降低不少。参考:https ://github.com/ultralytics/yolov5/issues/1806#issuecomment-752834571
  4. 多进程并发推理基本上是在单独的进程上旋转超过 1 个相同模型的实例并并行推理。torch有一个多处理模块torch.multiprocessing。我从来没有使用过这个,但我认为设置会有点重要和复杂。
于 2021-08-27T08:37:38.290 回答