Visual Studio导入libtorch(Cuda版)
一、安装
官网:https://pytorch.org/get-started/locally/
相应地选择并下载
二、环境变量配置
解压zip,得到libtorch
文件夹,将libtorch\lib
和libtorch\bin
对应路径添加到系统环境变量-Path中。
这里加入的是最后两个libtorch相关的,顺便找到之前的cuda路径,之后在vs配置时有用
三、VS配置
(1)右键项目名->属性【或者Alt+Enter
快捷键调出面板】
- 设置为
x64
平台
(2)VC++目录
-
包含目录
选择箭头->编辑
# 填入自己对应的cuda和libtorch相关路径 CUDA路径\CUDA\v11.7\include libtorch路径\libtorch\include libtorch路径\libtorch\include\torch\csrc\api\include
-
库目录
编辑CUDA路径\CUDA\v11.7\lib\x64 libtorch路径\libtorch\lib
(3)C\C++
-
常规-附加包含目录
和包含目录一样
CUDA路径\CUDA\v11.7\include libtorch路径\libtorch\include libtorch路径\libtorch\include\torch\csrc\api\include
也可以直接用**
$(IncludePath)
**替代这三行 -
语言
-
如果报错
#error You need C++17 to compile PyTorch
,那么C++语言标准
选择ISO C++17 标准 (/std:c++17)
-
如果报错
#error std 不明确的符号
,那么把符合模式
改为否
-
-
预编译头
- 设置为
不使用预编译头
,否则可能会出现#include xxx 无法编译的问题
- 设置为
(4)链接器
-
常规-附加库目录
和库目录一样
CUDA路径\CUDA\v11.7\lib\x64 libtorch路径\libtorch\lib
-
输入-附加依赖项
-
在
路径\libtorch\lib
中检索cuda和torch,将对应的所有lib
加入到附加依赖项
中,以及c10等; -
在
路径\libtorch\lib
下要加入cudart.lib
主要是以下:
# 路径\libtorch\lib c10.lib c10_cuda.lib pytorch_jni.lib torch.lib torch_cuda.lib torch_cpu.lib # torch_cuda_cpp.lib # torch_cuda_cu.lib # 路径\CUDA\v11.7\lib cudart.lib
-
-
命令行
指令一: # 适用cuda11.8版本、libtorch1.8.1 /INCLUDE:?warp_size@cuda@at@@YAHXZ 指令二: # 适用libtorch1.9.0 /INCLUDE:"?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z 指令三: # 适用1.10.2+cu113版本 /INCLUDE:?warp_size@cuda@at@@YAHXZ -INCLUDE:?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z
四、报错
1、由于找不到xx.dll,无法继续执行代码。重新安装程序可能会解决此问题
解决方案:在调试
-环境
中加入
# PATH=libtorch路径\libtorch\lib;%PATH%
PATH=F:\Software\Alib\libtorch\lib;%PATH%
参考链接:
C++下的libtorch部署——(三)window10下的Visual Studio配置libtorch
C++部署Pytorch(Libtorch)出现问题、错误汇总