有效推断3D深度学习模型(pytorch)

时间:2020-03-02 11:53:44

标签: memory deployment deep-learning pytorch cpu

我正在尝试使用Pytorch 3D UNet进行推理(从此处:https://github.com/wolny/pytorch-3dunet),该方法接收大小为(96、96、96)的图像。我想在CPU实例上使用它,但是内存使用率很高(〜18 GB)。在研究了该主题之后,我发现这是由于在CPU上实现卷积的方式引起的(请参见https://discuss.pytorch.org/t/pytorch-high-memory-demand/2798/5)。因此,我有以下问题:

  1. 有没有办法在Pytorch中使用内存效率更高的卷积实现方式?
  2. 如何为CPU推理优化模型?我看到存在一些工具,例如AWS Neo,Intel OpenVINO等。他们能解决我的问题吗?
  3. Tensorflow在CPU上使用卷积是否有类似的问题?
  4. 任何其他提示,欢迎链接如何有效地部署此类模型!

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用 DNN-Bench 对模型的性能进行基准测试,并为您的应用程序和硬件选择最佳推理引擎。您可能需要先将模型转换为 ONNX