PyTorch 模型到 C++
PyTorch model to C++
我训练了检测算法并保存了我最好的模型。现在我想将我的模型(预训练)转换为 C++ 并在我的应用程序中使用它。我想知道将 pyTorch 模型转换为 C++ 的可能方法有哪些?
谢谢!
您可以使用 TorchScript
PyTorch 模型的中间表示,通过跟踪和脚本,在 C++ 环境中可以是 运行。为此,您可能必须修改模型本身才能对其进行跟踪或编写脚本。
您可以使用ONNX
(Open Neural Network Exchange),通过它您可以导出您的模型并将其加载到另一个C++框架(如Caffe)中。不过,它有其自身的含义。
最简单的方法是尝试 Embedding Python
,通过它您可以在 C++ 环境中 运行 您的 python (pytorch) 模型。请注意,该模型在 python 中仍将 运行,但仅通过 C++,因此不会有您在 C++ 中可能期望的任何速度提升。
此外,随着 torchvision 0.5 的发布,torchvision 中的所有模型都原生支持 TorchScript 和 ONNX。
我训练了检测算法并保存了我最好的模型。现在我想将我的模型(预训练)转换为 C++ 并在我的应用程序中使用它。我想知道将 pyTorch 模型转换为 C++ 的可能方法有哪些?
谢谢!
您可以使用
TorchScript
PyTorch 模型的中间表示,通过跟踪和脚本,在 C++ 环境中可以是 运行。为此,您可能必须修改模型本身才能对其进行跟踪或编写脚本。您可以使用
ONNX
(Open Neural Network Exchange),通过它您可以导出您的模型并将其加载到另一个C++框架(如Caffe)中。不过,它有其自身的含义。最简单的方法是尝试
Embedding Python
,通过它您可以在 C++ 环境中 运行 您的 python (pytorch) 模型。请注意,该模型在 python 中仍将 运行,但仅通过 C++,因此不会有您在 C++ 中可能期望的任何速度提升。
此外,随着 torchvision 0.5 的发布,torchvision 中的所有模型都原生支持 TorchScript 和 ONNX。