【问题标题】:Why use Caffe2 or Core-ML instead of LibTorch(.pt file) on iOS?为什么在 iOS 上使用 Caffe2 或 Core-ML 而不是 LibTorch(.pt 文件)?
【发布时间】:2020-09-24 10:16:34
【问题描述】:
似乎有几种方法可以在 iOS 上运行 Pytorch 模型。
- PyTorch(.pt) -> onnx -> caffe2
- PyTorch(.pt) -> onnx -> Core-ML (.mlmodel)
- PyTorch(.pt) -> LibTorch (.pt)
- PyTorch 移动版?
以上方法有什么区别?
为什么人们使用需要模型格式转换的caffe2或Core-ml(.mlmodel),而不是LibTorch?
【问题讨论】:
标签:
pytorch
coreml
onnx
caffe2
libtorch
【解决方案1】:
Core ML 可以使用 Apple 神经引擎 (ANE),这比在 CPU 或 GPU 上运行模型要快得多。如果设备没有 ANE,Core ML 可以自动回退到 GPU 或 CPU。
我还没有真正详细研究过 PyTorch Mobile,但我认为它目前只在 CPU 上运行,而不是在 GPU 上。而且它肯定不会在 ANE 上运行,因为只有 Core ML 可以做到。
转换模型可能很麻烦,尤其是从 PyTorch 转换需要先通过 ONNX。但您最终会以更快的方式运行这些模型。