win10上libtorch c++部署

开发环境:

  • VS2017(VS2015亲测也能通过)
  • win10
  • cmake>=3.0
  • libtorch1.6-release

pytorch中libtorch加入了对C++的支持,以方便集成。但不同系统、开发环境下遇到的问题不同,这里进行整理。此方案为win10+vs下集成代码验证。

1、准备工作

1.1、cmake下载

用vs编译也是可以的,本文选用vs编译。确定有>=3.0版本的cmake和比较高的vs版本。cmake下载。

https://cmake.org/files/v3.17/

链接:https://pan.baidu.com/s/1C1n9yHlwR43YOkzoIpeweQ

提取码:gml3

1.2、opencv安装

下载地址:https://opencv.org/releases/page/2/

opencv-2.4.13.6-vc14

链接:https://pan.baidu.com/s/1pe6KLeBi9K6jqch9nxGLmw

提取码:ey9l

1.3、LibTorch下载

在pytorch官网下载对应的LibTorch。有GPU版CP官网下载对应的LibTorch。有GPU版CPU版、有DEBUG和RELEASE版。下载匹配的对应版本。

win10上libtorch c++部署_第1张图片

然后解压。

有include有lib,跟其他库结构差不多。

2、VS配置

官方和其他很多都是用的cmake,其实vs也能用。新建一个空项目,然后和VS配置opencv一样,把LibTorch的include和lib添加到“包含目录”和“库目录”中就行,还需要在链 接器中加入:

c10.lib
torch_cpu.lib

一般来说2个cpu上就可足够测试了,以防万一可以把所有lib都加上:

c10.lib
c10_cuda.lib
caffe2_nvrtc.lib
caffe2_module_test_dynamic.lib
clog.lib
dnnl.lib
libprotobuf.lib
libprotobuf-lite.lib
libprotoc.lib
mkldnn.lib
torch.lib
torch_cpu.lib
torch_cuda.lib

还有两个地方需要修改:

第一项:属性->C/C++ ->常规->SDL检查->否。

第二项:属性->C/C++ ->语言->符合模式->否。

可选项:

第三项:配置属性->常规->C++语言标准,设置为C++17。

第四项:配置属性->调试->环境,设置环境变量,添加bin目录:PATH=libtorch bin path;%PATH%;

第五项:若缺少宏,属性->C/C++->预处理器->预处理器定义,设置宏。

3、环境测试验证

引入两个lib文件:c10.lib、torch_cpu.lib。

测试代码

#include
#include

int main()
{
	torch::Tensor t1 = torch::tensor({ 10,1,2 });
	std::cout << t1[0] << std::endl;
	system("pause");
}

打印如下结果,则为正确:

使用GPU:https://blog.csdn.net/weixin_34910922/article/details/109344569

参考文章:

1、pytorch1.3版本转C++ API(libtorch)踩坑记录

https://blog.csdn.net/u011627998/article/details/103894737

你可能感兴趣的:(qt/c/c++语言,c++,cmake,libtorch,vs2017)