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

Why use Caffe2 or Core-ML instead of LibTorch(.pt file) on iOS?

似乎有几种方法可以在 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?

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

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

转换模型可能很麻烦,尤其是从需要先通过 ONNX 的 PyTorch 转换模型。但是你最终会以更快的方式 运行 这些模型。