Win10+vs2017下配置libtorch

我的配置如下:

系统:win10-64位
VS:vs2017
Libtorch:cu102-1.6
安装步骤如下:

一、确定可选版本

C++下实现torch,主要用于网络的预测,而网络的训练则是在python环境下完成。为保证python环境下训练的网络可以正常移植到vs环境中使用,需保证vs环境中使用的torch版本与python中使用的torch版本一致。
另外,关于vs版本,推荐使用vs2017(虽然网上有不少帖子关于vs2015移植torch,但本人在移植过程中,使用vs2015未成功)。
在此,选定版本:vs2017+libtorch-1.6(cuda10.2)

二、安装cuda及cudnn

不清楚是否需要安装。
但是在配置python+pytorch时,已经安装了cuda+cudnn(不清楚仅配置vs2017+torch时,是否需要安装)。

三、下载libtorch

官方下载网址https://pytorch.org/get-started/locally/
在这里插入图片描述

下载历史版本的libtorch的方法如下:
根据需要,修改下列链接中相应的参数,即可。
https://download.pytorch.org/libtorch/cpu/libtorch-win-shared-with-deps-1.0.0.zip
https://download.pytorch.org/libtorch/cu80/libtorch-win-shared-with-deps-1.0.0.zip
https://download.pytorch.org/libtorch/cu90/libtorch-win-shared-with-deps-1.0.0.zip
https://download.pytorch.org/libtorch/cu100/libtorch-win-shared-with-deps-1.0.0.zip
例如,需下载cu102的1.6.0版本,则网址为
https://download.pytorch.org/libtorch/cu102/libtorch-win-shared-with-deps-1.6.0.zip

四、建立vs2017工程并配置

建立vs2017工程(如控制台工程)。
将libtorch解压后,置于工程文件夹内。
Vs2017的模式选择release(因为下载的release版本的libtorch)
在这里插入图片描述
右击工程名,选择属性,进入属性配置页。
在vc++目录标签,配置包含目录和库目录。其中,包含目录有2个,分别是
\libtorch\include\torch\csrc\api\include
\libtorch\include
库目录有1个:
\libtorch\lib
在这里插入图片描述

在c/c++,常规标签,设置SDL检查为否。
在这里插入图片描述

在c/c++语言标签,设置符合模式为否。
在这里插入图片描述

在链接器-常规-附件库目录,添加\libtorch\lib
在这里插入图片描述

在链接器-输入-附加依赖项,填入.lib文件。若不知填写哪些,则可将\libtorch\lib\下的所有.lib文件填入。如果是cuda版本,欲想使用cuda,则还需填入“-INCLUDE:?warp_size@cuda@at@@YAHXZ”,很重要!
在这里插入图片描述

填入后,将\libtorch\lib\文件夹下,所有的.lib文件和.dll文件,全部拷贝到工程主cpp文件所在的文件夹内。如下图。
在这里插入图片描述

至此,配置完毕。

五、调试

至此,配置完毕。
在主程序中,添加头文件引用
#include
#include <torch/script.h>
#include <torch/torch.h>
编译,若编译通过,则基本可用。
主程序添加语句
torch::Tensor a = torch::rand({ 2, 3 });
cout << a << endl;
运行结果:
在这里插入图片描述

如果使用的cuda版本的libtorch,需要在附加依赖项中填入:
-INCLUDE:?warp_size@cuda@at@@YAHXZ
主程序添加语句
torch::DeviceType device_type = at::kCPU;
cout << “cuda是否可用:” << torch::cuda::is_available() << endl;
cout << “cudnn是否可用:” << torch::cuda::cudnn_is_available() << endl;
运行结果:
在这里插入图片描述

版权声明:本文为CSDN博主「xiaohuolong1827」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiaohuolong1827/article/details/121428790

xiaohuolong1827

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Yolo(3)(项目)Yolo v3 目标检测(85分类)

目录 基础理论 一、 读取文件 二、神经网络初始化 1、搭建神经网络 2、GPU加速 三、打开摄像头、按帧读取图像 四、向神经网络输入 五、获取神经网络输出 1、获取各层名称 2、获取输出层名称 3、获取输出层图像&#xff

目标检测:YOLO v1算法

YOLO V1 算法思想 将一幅图像分成s*s个网格,如果某个目标的中心落在这个网格中,则这个网络就负责预测这个目标。每个网格要预测B个bounding box,每个bounding box除了要预