在ubuntu下将Pytorch模型部署到c++(一)(环境搭建)


本文总结记录了在将lightweight-openpose的pytorch网络模型部署到c++的过程以及遇到的一些问题,如有错误敬请指正

vscode c++环境部署 cmake

vscode中c++编译过程主要参考如下教程
https://www.bilibili.com/video/BV1nA411T7VK?from=search&seid=1436175833878339385&spm_id_from=333.337.0.0

编译器clang安装

在ubuntu系统中可直接通过apt命令安装(6.0.0)不过版本较老
安装llvm

apt-get install llvm

2.安装clang

apt-get install clang

3.检查是否安装成功(查看clang版本,有显示即为成功)

clang -v

建议在git中下载较新的适合系统的Releases版本
https://github.com/llvm/llvm-project/tree/llvmorg-12.0.1
在这里插入图片描述注意不要只看系统忽略处理器,我在误装powerpc64le版本后出现vscode无法识别编译器情况
解压后进入文件路径
将clang加入系统路径

sudo cp -r * /usr/local 

执行clang -v查看到版本即成功。

References :
https://www.cnblogs.com/willaty/p/8024313.html
https://fzy15116089232.blog.csdn.net/article/details/101211003

libtorch安装

https://pytorch.org/选择适合系统cuda的版本 以及c++11版本

在这里插入图片描述将libtorch中编译后的so库文件目录写入vscode cmakelists.txt
在这里插入图片描述

cudnn安装

cudnn下载https://developer.nvidia.com/rdp/cudnn-archive
选择适合本机cuda版本
在这里插入图片描述同一版本安装包类型较多,选择合适的版本下载,建议选择免安装版(cuDNN Library for Linux)
解压后进入到相应目录,运行以下命令将cudnn库文件添加到系统路径:

sudo cp cuda/include/cudnn.h /usr/local/cuda-10.2/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64

由于新版本中cudnn的版本信息包含在cudnn_version.h中,而不是cudnn.h中,需要把版本文件一起添加,防止后续编译时报错

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

同样地,查询cuDNN版本也要更改为cudnn_version.h

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

References :
https://zhuanlan.zhihu.com/p/72298520
https://zhuanlan.zhihu.com/p/370192639

opencv安装及编译

根据opencv官方提供的安装指导,以4.5.3为例
https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
依次执行如下命令:

# Install minimal prerequisites (Ubuntu 18.04 as reference)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# Download and unpack sources
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
unzip opencv.zip
# Create build directory
mkdir -p build && cd build
# Configure
cmake  ../opencv-master
# Build
cmake --build .

本项目中没有用到opencv_contrib模块,所以只安装基础opencv模块即可,编译完成不要忘记最后一步安装

sudo make install

接下来把opencv编译后的路径添加到vscode中的Cmakelists.txt
在这里插入图片描述

References :
https://blog.csdn.net/weixin_43953829/article/details/96473891

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值