PyTorch 模型到 C++

Y0s*_*tsu 7 c++ python-3.x pytorch onnx

我已经训练了检测算法并保存了我最好的模型。现在我想将我的模型(预训练)转换为 C++ 并在我的应用程序中使用它。我想知道将 pyTorch 模型转换为 C++ 的可能方法是什么?

谢谢!

kHa*_*hit 8

  • 您可以使用TorchScriptPyTorch 模型的中间表示,通过跟踪和脚本编写,可以在 C++ 环境中运行。为此,您可能必须修改模型本身才能对其进行跟踪或编写脚本。

  • 您可以使用ONNX(Open Neural Network Exchange),通过它您可以导出您的模型并将其加载到另一个 C++ 框架中,例如 Caffe。不过,它也有其自身的含义。

  • 最简单的是 try Embedding Python,通过它您可以在 C++ 环境中运行您的 python (pytorch) 模型。请注意,该模型仍将在 python 中运行,但只能通过 C++ 运行,因此不会有您在 C++ 中可能期望的任何速度提升。

此外,随着torchvision 0.5的发布,torchvision 中的所有模型都具有对 TorchScript 和 ONNX 的原生支持。

  • 是的,torchscript 支持 CUDA。您可以简单地使用“model->to(at::kCUDA)”和“input.to(at::kCUDA)”。 (2认同)