ubuntu 18.04 编译cuda 11.1 + cudnn 8.0.5 + opencv + qt踩过的各种坑汇总

ubuntu 18.04 编译cuda 11.1 + cudnn 8.0.5 + opencv + qt踩过的各种坑汇总

写在之前

1、关于ubuntu版本。
个人不建议使用ubuntu20.04,我用ubuntu20.04用了近半年,最后还是换成了18.04,因为各种bug、依赖问题太多,非常恶心。本文全部操作都在ubuntu18.04下完成。
2、关于qt
建议使用apt安装,简单快捷并且各种依赖都不会有问题。
3、关于opencv
非必要尽量使用opencv3
4、关于cmake
使用cmake-gui,简单直观。
直接使用sudo cmake-gui来打开cmake-gui
如果提示找不到命令的话,先安装cmake-qt-gui
5、关于cuda和cudnn
最近nvidia上下载cudnn很抽象,我反正是下的断断续续
cudnn版本要按照标题和cuda匹配。cuda版本则通过nvidia-smi信息来选择。
本文不会写如何安装这两样东西,因为安装方法基本未变。本文只讲坑。
6、下好opencv源码后,打开cmake-gui,第一个框选择opencv目录,第二个框选则自己新建的release文件夹,提前下好对应版本的opencv-contrib文件
7、第一遍configure,勾选WITH_QT WITH_CUDA OPENCV_DNN_CUDA还有什么math,把opencv-contrib/modules路径填入什么extra中,再次点击configure,此时再勾选CUDA_FAST_MATH 指定bin算力

正式坑

1、opencvdownload问题
该问题是由于国内访问下载地址过慢造成的,网上大多说自己下好再扔进.cache,但直接获取地址后还是不好使,一本万利的方法是修改hosts,用站长工具dns选择一个ttl低的ip,贴出我的hosts文件

# GitHub Start
108.160.167.148 github.global.ssl.fastly.net
52.74.223.119 github.com
192.30.253.119 gist.github.com
54.169.195.247 api.github.com
185.199.111.153 assets-cdn.github.com
151.101.108.133 raw.githubusercontent.com
151.101.108.133 user-images.githubusercontent.com
151.101.108.133 gist.githubusercontent.com
151.101.108.133 cloud.githubusercontent.com
151.101.108.133 camo.githubusercontent.com
151.101.108.133 avatars0.githubusercontent.com
151.101.108.133 avatars1.githubusercontent.com
151.101.108.133 avatars2.githubusercontent.com
151.101.108.133 avatars3.githubusercontent.com
151.101.108.133 avatars4.githubusercontent.com
151.101.108.133 avatars5.githubusercontent.com
151.101.108.133 avatars6.githubusercontent.com
151.101.108.133 avatars7.githubusercontent.com
151.101.108.133 avatars8.githubusercontent.com
# GitHub End

2、cudnn找不到
我在编译过程中出现找不到cudnn的错误,但是我用sample已经验证过了,cudnn毫无问题。我找到报错的地方,发现没有定义HAVE_CUDNN,然后又找到FINDCUDNN文件,发现是find_package 出现了问题,版本不符合要求。最后一番搜索后,发现cudnn版本是卸载CUDNN_MAJOR这宏中的,而这个宏不在cudnn.h中,再次回到FINDCUDNN中,发现CUDNN_VERSION这个宏是在cudnn_version.h这个头文件中获取的,于是真相大白,这个文件我并没有复制过去。
如果确定安装了cudnn(即将对应文件复制到cuda对应文件夹中)并且确保版本正确,那么可能是缺少cudnn_version.h这个文件导致的,因为网上某些教程只说了要复制cudnn.h,但实际上现在需要把目录下所有文件全部复制过去。
之后关闭cmake,将release文件夹里的内容全部删除。重新来一遍。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是安装步骤: 1. 安装CUDA 8.0 首先,你需要下载CUDA 8.0安装包,可以在官网上下载或者使用以下命令: ``` wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run ``` 下载完成后,运行以下命令进行安装: ``` sudo sh cuda_8.0.61_375.26_linux-run ``` 安装过程中需要你进行一些选择,可以按照默认选项进行。 安装完成后,在`~/.bashrc`文件中添加以下环境变量: ``` export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH ``` 然后运行以下命令使配置生效: ``` source ~/.bashrc ``` 2. 安装cuDNN cuDNN是NVIDIA提供的深度学习库,可以加速深度学习的训练和推理过程。你需要先在官网上注册一个账号,然后才能下载cuDNN。 下载完成后,解压文件并将文件复制到CUDA的安装路径下: ``` tar -xzvf cudnn-8.0-linux-x64-v6.0.tgz sudo cp -P cuda/include/cudnn.h /usr/local/cuda-8.0/include sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64/ sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn* ``` 3. 安装TensorFlow 最后,你可以使用pip安装TensorFlow: ``` pip install tensorflow-gpu==1.3 ``` 如果你想使用CPU版本的TensorFlow,可以使用以下命令: ``` pip install tensorflow==1.3 ``` 安装完成后,你可以测试一下TensorFlow是否正常工作: ``` python import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello)) ``` 如果输出了`Hello, TensorFlow!`,那么TensorFlow就安装成功了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值