希望这篇踩坑记录能给你启发,不枉我身先士卒,如果沉没成本还不高的朋友们,可以选择装cuda10.0版本的系统,那边教程会比较多。
emmmm很遗憾,我用cuda10.2做到最后失败了,编译都编译完了,结果一运行程序就死机,希望有好心人有头绪的话,能了我一个心愿哈哈哈哈。
不过还好老师没指定项目,我用jetson inference的posenet,6h就部署完成了。
在英伟达官网https://developer.nvidia.com/embedded/downloads,下载对应版本镜像,并刷入sd卡
1、检查cuda,先执行次nvcc -V,若失败,则将cuda路径写入环境变量
此处请根据该路径/usr/local/cuda查看自己系统的cuda版本号并更改下方路径名,惨痛教训
sudo vim ~/.bashrc
在文件最后添加
export CUDA_HOME=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.2/bin:$PATH
重载文件
source ~/.bashrc
再次执行
nvcc -V #查看系统版本
2.检查opencv版本号
pkg-config opencv4 --modversion
会返回对应的版本号,我的是4.1.1
3.检查cuDnn
cd /usr/src/cudnn_samples_v7/mnistCUDNN #进入例子目录
sudo make #编译例子
sudo chmod a+x mnistCUDNN # 为可执行文件添加执行权限
./mnistCUDNN # 执行
若出现fatal error: FreeImage.h: No such file or directory,则运行sudo apt-get install libfreeimage3 libfreeimage-dev
,再继续上述指令,出现test passed,则代表cudnn可正常使用。
本段摘自这位博主的博文,非常感谢https://blog.csdn.net/weixin_41750643/article/details/105430654
1.protobuf2.6
wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz
tar -zxvf protobuf-2.6.1.tar.gz
sudo apt-get install build-essential #安装依赖
cd protobuf-2.6.1/
./configure #配置安装文件
make #编译 偏久 别慌
make check #检测编译安装环境 一点点久
sudo make install #安装 很快
查看protobuf的版本号,如出现protoc: error while loading shared libraries:
的报错,则创建bprotobuf.conf文件
sudo chmod 777 -R /etc/ld.so.conf.d
sudo vim /etc/ld.so.conf.d/bprotobuf.conf
#添加的内容为
/usr/local/lib
创建好bprotobuf.conf文件后,在 /etc/ld.so.conf.d/目录下输入命令:
sudo ldconfig
再次检查版本,得到版本号即成功
protoc --version
libprotoc 2.6.1
2.cmake-gui
安装依赖:
sudo apt-get install libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git build-essential
如出现报错Could not find OpenSSL. Install an OpenSSL development package or configure CMake with -DCMAKE_US
安装openssl依赖apt-get install libssl-dev
下载openpose、caffe、pybind11的源代码,在openpose的3rdparty文件夹下,将caffe和pyblind11源代码复制进去
openpose地址:https://github.com/CMU-Perceptual-Computing-Lab/openpose
openpose 的 caffe 下载地址:
https://github.com/CMU-Perceptual-Computing-Lab/caffe
openpose 的 pybind11 下载地址:
https://github.com/pybind/pybind11/tree/085a29436a8c472caaaf7157aa644b571079bcaa
mkdir openpose/build #创建build文件夹
sudo cmake-gui #打开cmake 图形化界面
在图形化界面中,进行配置where is the source code :选择openpose源码文件夹
where to build the binaries:选择工程文件文件夹
后点击generate,选择unix Makefiles,再根据报错安装相应包,再点击Generate,直至输出Generate done
在这里
报错一:cuDNN version >3 is required.
解决方法一:in Openpose change the cmake/cuda.cmake file and the /cmake/modules/FindCuDNN.cmake file.
Find the line that reads:
file(READ {CUDNN_INCLUDE}/cudnn.h CUDNN_VERSION_FILE_CONTENTS)
change to: file(READ {CUDNN_INCLUDE}/cudnn_version.h CUDNN_VERSION_FILE_CONTENTS)
参考链接:https://blog.csdn.net/weixin_34246656/article/details/112538507
解决方法二:打开cmake文件夹下
报错二:CUDA_ARCH
解决方法:https://blog.csdn.net/tukechao/article/details/109097599
报错三: