利用LibTorch部署PyTorch模型-安装&配置&使用

本文记录如何利用C++来调用PyTorch训练好的模型,其实也是利用官方强大的LibTorch库。

LibTorch的安装

虽然说安装,其实就是下载官方的LibTorch包而已,从[官方网站](PyTorch)中选择PyTorch ,libtorch,以及cuda的版本,其中会出现下载链接

a738d59127b2c0f7f499d687b99cfadc.png

上图中有两个下载链接,一个是release版本一个debug版本,有C++开发经验的小伙伴应该了解如何使用这种库:

下载好找个路径解压。解压完放在那不动!!!

d9ac8b4bd5991b76f5acab7b69c64aaa.png
我已经把解压文件移到我的D盘并修改了名称,这里面include是配置libtorch所需的头文件,在vs2019中配置环境的时候要添加进去;lib中有.lib和.dll两种文件,安装过opencv的小伙伴都知道,这两种文件一般是分到两个文件夹中的,.lib路径要在vs中进行设置,.dll一般添加到环境变量中,或者COPY到项目vcxproj文件所在的
目录中,我选择后者

使用VS2019创建一个空项目:

之所以使用VS2019主要原因是低版本的VS对C++新标准支持的程度可能比较低,在使用新版本库的时候可能会出现很多语法错误,这个是需要特别注意的。之前使用vs2017,出现不支持动态数组定义,不支持C99语法等:如 C10_DEFINE_DEPRECATED_USING Err code:E1866

踩了很多坑。

(1)设置配置管理器:

9b6bbe266ba2ff9188cb747f4ea117d7.png


我安装的LibTorch是Debug版本的,所以选择Debug模式;Pytorch官网提供的库都是X64的,所以还要设置编译平台为X64。

(2)设置头文件路径:

146e8fb97968faf48777ee9e40af7058.png

我的工程里还用了opencv,所以在附加包含目录里还有opencv头文件路径,如果只是用LibTorch的话添加前两行就可以了。特别需要说明的是,这两个头文件路径中常用的头文件分别是:

#include "torch/torch.h"
#include "torch/script.h"

(3)设置链接库:

5e6a6d155b8c8fcffd932e6f7e5f3a22.png

添加所需的lib文件

b500963caafbd4efd6aa89d1b93dd1e2.png

LibTorch简单C++示例

#include "torch/torch.h"
#include "torch/script.h"

int main()
{
    torch::Tensor output = torch::randn({ 3,2 });
    std::cout << output;

    return 0;
}


将以下DLL文件复制到项目vcxproj文件所在目录

ff1256c91f780590da12e781735280d9.png

运行,结果如下:

9d14018455613095912601a34f9edb49.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值