我的配置如下:
系统: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
暂无评论