为什么在 iOS 上使用 Caffe2 或 Core-ML 而不是 LibTorch(.pt 文件)?

Kjy*_*ong 4 pytorch caffe2 coreml onnx libtorch

似乎有几种方法可以在 iOS 上运行 Pytorch 模型。

  1. PyTorch(.pt) -> onnx -> caffe2
  2. PyTorch(.pt) -> onnx -> Core-ML (.mlmodel)
  3. PyTorch(.pt) -> LibTorch (.pt)
  4. PyTorch 移动版?

上述方法有什么区别?为什么人们使用 caffe2 或需要模型格式转换的 Core-ml (.mlmodel),而不是 LibTorch?

Mat*_*ans 5

Core ML 可以使用 Apple 神经引擎 (ANE),这比在 CPU 或 GPU 上运行模型要快得多。如果设备没有 ANE,Core ML 可以自动回退到 GPU 或 CPU。

我还没有真正详细研究过 PyTorch Mobile,但我认为它目前只在 CPU 上运行,而不是在 GPU 上运行。它肯定不会在 ANE 上运行,因为只有 Core ML 可以做到这一点。

转换模型可能很麻烦,尤其是从 PyTorch 转换模型,它需要首先通过 ONNX。但最终您确实得到了一种更快的方式来运行这些模型。