zl程序教程

您现在的位置是:首页 >  后端

当前栏目

部署模型:Libtorch使用笔记【Pytorch的C++版本】【把用Pytorch训练好的模型打包保存为.pt格式,使用Libtorch去加载.pt格式模型,在C++工程中去用就好了】

2023-09-27 14:20:40 时间

pytorch是一个强大的机器学习库,其中集成了很多方法,但从python本身角度讲,它的速度还不够快。用pytorch官网的话说:

虽然对于许多需要动态性和易迭代性的场景来说,Python是一种合适且首选的语言,但在同样的情况下,Python的这些特性恰恰是不利的。
生产环境是一个需要低延迟和有严格部署要求的领域,一般选择C++。

打ACM的时候,也是用C++写一些比较恶心的算法居多,于是我也大胆地尝试了用C++加载pytorch模型。

libtorch官网教程:libtorch官网教程

Q : Libtorch是什么及为什么用Libtorch?
A : Libtorch是pytorch的C++版本,现在的很多大型项目都是用C++写的,想使用训练好的模型,需要通过caffe等方式去集成,比较麻烦。这里pytorch官方提出了Libtorch,我们就可以把pytorch训练好的模型,打包起来,直接在C++工程中去用就好了,相比较caffe等,非常方便!

使用Libtorch的大体流程:

  • 将训练好的模型打包,保存为.pt格式
  • 使用Libtorch去加载.pt格式模型



参考资料:
libtorch使用笔记
Loading a TorchScript Model in C++
初探Libtorch记录
部署模型之Libtorch学习(一)
TorchScript: Tracing vs. Scripting