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

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

LibTorch的安装

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

利用LibTorch部署PyTorch模型-安装&配置&使用_第1张图片

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

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

利用LibTorch部署PyTorch模型-安装&配置&使用_第2张图片
我已经把解压文件移到我的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)设置配置管理器:

利用LibTorch部署PyTorch模型-安装&配置&使用_第3张图片


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

(2)设置头文件路径:

利用LibTorch部署PyTorch模型-安装&配置&使用_第4张图片

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

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

(3)设置链接库:

利用LibTorch部署PyTorch模型-安装&配置&使用_第5张图片

添加所需的lib文件

利用LibTorch部署PyTorch模型-安装&配置&使用_第6张图片

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文件所在目录

利用LibTorch部署PyTorch模型-安装&配置&使用_第7张图片

运行,结果如下:

利用LibTorch部署PyTorch模型-安装&配置&使用_第8张图片

你可能感兴趣的:(pytorch,人工智能,python,深度学习,机器学习)