ubuntu vscode_如何在Ubuntu-18.04下用VSCode编译LibTorch

v2-0f05232a85e87305ea61f2502d9055e8_1440w.jpg?source=172ae18b

谨以此纪录环境搭建过程,以供后续参考

操作系统: Ubuntu 18.04

GPU: GeForce RTX 2080

CUDA 10.2:

CUDA Toolkit 10.2 Download​developer.nvidia.com

Driver Version: 440.44

VSCode:

Download Visual Studio Code - Mac, Linux, Windows​code.visualstudio.com
v2-beaba009c542a9f6fe1d2034a7ed568b_180x120.jpg

CMake:

Download | CMake​cmake.org

cuDNN 7.6.5:

cuDNN: version 7.6.5​developer.nvidia.com

g++: version 7.5.0

以上为所有涉及到此次过程的软硬件版本

默认已经装好了GPU-2080的驱动与对应的CUDA版本, Ubuntu-18.04, VSCode等,这些谷哥已经有了丰富的教程和资源了。接下来则是独一无二的中文教程(自己摸索出来的)

  1. 下载Libtorch
PyTorch​pytorch.org
v2-f006806312dbf953a01945bc57c25740_ipico.jpg

v2-1e5fef2ef35ef160ce13b0dc67fde263_b.jpg

虽然CUDA的版本要求是10.1, 但是亲测10.2也可以。我下载的是第一个链接,即Pre-cxx11 ABI。这些都是已经编译好的库。

下载完之后放到某个目录去。

我是直接放到我的工程目录下了。

比如:

dcgan:
       - .vscode
           - launch.json
           - tasks.json
       - libtorch
       - dcgan.cpp

别忘记把/libtorch/lib 添加到 LD_LIBRARY_PATH

2. VSCode 插件安装:

直接按照这位博主的推荐来安装插件:

VScode 插件推荐与C/C++配置​www.cnblogs.com
v2-b3a107b0ddc2b5f65075ec46a8309d52_180x120.jpg

我选择性的安装了以下插件:

  • c/c++
  • Material Theme
  • vscode-icons
  • chinese
  • bracket par colorizer 2
  • TabOut
  • cmake

主要就是c/c++会生成c_cpp_properties.json配置文件, 我粗浅的理解就是帮助vscode管理我们的C++项目。

3.下载&&安装cudnn

cudnn下载需要先注册,然后才能下载。我下载的是压缩文件:

cudnn-10.2-linux-x64-v7.6.5.32.tgz

下载完后需要做两件事,首先把cudnn的压缩文件先解压缩。

然后打开终端,cd到cudnn的根目录下。

然后输入以下命令

$ sudo cp include/cudnn.h /usr/local/cuda/include
$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

其实就是把cudnn的头文件和依赖库拷贝到cuda去。然后把依赖库的读权限开一下。

4. CMakeLists.txt

https://pytorch.org/tutorials/advanced/cpp_frontend.html​pytorch.org

在项目的根目录下,添加CMakeLists.txt文件。主要就是方便&帮助你编译工程项目。

然后在CMakeLists.txt里面写上以下内容,然后保存。

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(dcgan)

find_package(Torch REQUIRED)

add_executable(dcgan dcgan.cpp)
target_link_libraries(dcgan "${TORCH_LIBRARIES}")
set_property(TARGET dcgan PROPERTY CXX_STANDARD 14)

5. 打开tasks.json

填写

"command":"cmake -DCMAKE_PREFIX_PATH=你的libtorch的根目录 -DCMAKE_BUILD_TYPE=Debug ..;make"

在你的工程项目里新建一个build文件夹。(可以是Debug或者是Release都可以),随便起一个名都行,主要是存放编译后文件。

然后工程目录长下面这个样:

dcgan:
       - .vscode
           - c_cpp_properties.json
           - launch.json
           - tasks.json
       - build
       - libtorch
       - dcgan.cpp

提醒一下:

-DCMAKE_PREFIX_PATH 写你的libtorch的根目录。

-DCMAKE_BUILD_TYPE=Debug 就是可以用vscode的debug模式(说白了就是编译后文件支持断点)

所以完整的tasks.json应该是这样滴:

...
...
...
"comand":"cmake -DCMAKE_PREFIX_PATH=你的libtorch的根目录 -DCMAKE_BUILD_TYPE=Debug ..;make"
"args":[]
"options":[
    "cwd":"/home/.../.../dcgan/build"   #别真的填...呀,写你自己工程的路径
]
...
...

6.打开launch.json

launch.json值得要注意的是下面几个参数,其他都默认。

...
...
...
"program":"${fileDirname}/build/dcgan", #这个很好理解,执行或者debug哪个文件
"args":[],
"stopAtEntry":True, #debug的时候你要不要在入口处停下
"cwd":"${workspaceFolder}",
...
...
...

7. 编写你的cpp文件

按照pytorch的官方文档,你这么写就行了。

#include 

好了,以上就是我的记录。

写了我能记下的细节,可能某些细节还漏掉了。如果有问题,可以直接留言。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值