![v2-0f05232a85e87305ea61f2502d9055e8_1440w.jpg?source=172ae18b](http://img-01.proxy.5ce.com/view/image?&type=2&guid=18250e5d-a92e-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-0f05232a85e87305ea61f2502d9055e8_1440w.jpg?source=172ae18b)
谨以此纪录环境搭建过程,以供后续参考
操作系统: Ubuntu 18.04
GPU: GeForce RTX 2080
CUDA 10.2:
CUDA Toolkit 10.2 Downloaddeveloper.nvidia.comDriver Version: 440.44
VSCode:
Download Visual Studio Code - Mac, Linux, Windowscode.visualstudio.com![v2-beaba009c542a9f6fe1d2034a7ed568b_180x120.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=18250e5d-a92e-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-beaba009c542a9f6fe1d2034a7ed568b_180x120.jpg)
CMake:
Download | CMakecmake.orgcuDNN 7.6.5:
cuDNN: version 7.6.5developer.nvidia.comg++: version 7.5.0
以上为所有涉及到此次过程的软硬件版本
默认已经装好了GPU-2080的驱动与对应的CUDA版本, Ubuntu-18.04, VSCode等,这些谷哥已经有了丰富的教程和资源了。接下来则是独一无二的中文教程(自己摸索出来的)
- 下载Libtorch
![v2-f006806312dbf953a01945bc57c25740_ipico.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=18250e5d-a92e-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-f006806312dbf953a01945bc57c25740_ipico.jpg)
![v2-1e5fef2ef35ef160ce13b0dc67fde263_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=18250e5d-a92e-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/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](http://img-01.proxy.5ce.com/view/image?&type=2&guid=18250e5d-a92e-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.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.htmlpytorch.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
好了,以上就是我的记录。
写了我能记下的细节,可能某些细节还漏掉了。如果有问题,可以直接留言。