Ubuntu16.04配置Mask-Rcnn环境

软硬件环境描述

  • 显卡:RTX2060
  • 系统:Ubuntu16.04
  • 显卡驱动版本: NVIDIA-Linux-x86_64-440.82
  • Cuda版本: cuda_10.0.130_410.48_linux
  • Cudnn版本: cudnn-10.0-linux-x64-v7.6.5.32
  • Tensorflow版本: TensorFlow 1.14.0 + Keras 2.2.5

显卡驱动安装

1.禁用第三方显卡驱动nouveau

  • 编辑文件blacklist.conf文件:
sudo vim /etc/modprobe.d/blacklist.conf

在文件最后部分插入一下两行内容:

blacklist nouveau
options nouveau modeset=0
  • 更新系统
sudo update-initramfs -u
  • 重启电脑,验证nouveau是否已禁用
lsmod | grep nouveau

不显示额外信息,则说明禁用成功,如下图所示:
在这里插入图片描述
2.下载官方驱动
官网网站下载显卡驱动,我安装的是440.10版本,官方驱动下载地址
3.安装驱动

  • 将NVIDIA-Linux-x86_64-440.82.run文件放到home目录下,Ctrl+Alt+F1组合键进入命令行界面
  • 输入下列命令,关闭图形界面
service lightdm stop 

或者输入:

sudo telinit 3
  • 卸载掉原有驱动
apt-get remove nvidia-*
  • 赋予驱动文件执行权限:
chmod  a+x NVIDIA-Linux-x86_64-440.82.run
  • 正式安装驱动
sudo NVIDIA-Linux-x86_64-440.82.run -no-x-check -no-nouveau-check -no-opengl-files

-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
注:一定要添加-no-opengl-files选项,不然会出现循环登录的问题,其它两项不添加也能安装成功

接下来就在需要选择时按下Enter键就好,一直按照默认的来。

  • 安装完成,输入命令回到图形界面:
service lightdm start
  • 打开Terminal,输入命令,如下图所示即说明驱动安装成功:在这里插入图片描述 - 特殊情况:
  • 如果发现“关于这台计算机”里图形仍然是"llvmpipe (LLVM 6.0, 256 bits)",其实并没有装好。解决办法:卸载驱动,重新安装 不应该加参数 --no-opengl-files

CUDA安装

1.文件下载
点击下方链接下载历史版本的Cuda文件:https://developer.nvidia.com/cuda-toolkit-archive
因为TensorFlow的原因,这里我下载的是CUDA10.0,CUDA10.2也可以安装成功,但是可能与TensorFlow不适配。
2.安装

sudo chmod a+x cuda_10.0.130_410.48_linux.run 
sudo sh cuda_10.0.130_410.48_linux.run 
  • 接下来会出现很长的声明,一直按enter键,把声明读完,然后就可以进行选择了。
  • 对于第一个选项install nvidia accelerated Graphics
    Driver,选n,因为我们之前已经手动安装过驱动了。
  • 安装完成后会出现一个提醒,说安装CUDA时没有选择安装驱动,直接忽略它。

3.配置环境变量
打开.bash文件,在最后加两句命令:

sudo gedit ~/.bashrc
export PATH=/usr/local/cuda-10.0/bin:$PATH
exportLD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

保存关闭,命令行输入:

source ~/.bashrc

4.查看CUDA版本信息,如下图所示则代表安装成功:
在这里插入图片描述
5.拷贝动态链接库的文件
在Ubuntu18.04上执行darknet时发现,系统默认在/usr/local/lib下寻找CUDA的动态链接库,但是库文件安装在了/usr/local/cuda-10.2/下面,因此执行利用CUDA加速的程序时会发生下列错误:

error while loading shared libraries: libcudart.so.10.2: cannot open shared object file: No such file or directory

此时执行下列命令拷贝一下文件就可以了:

sudo cp /usr/local/cuda-10.0/lib64/libcudart.so.10.0 /usr/local/lib/libcudart.so.10.0 && sudo ldconfig
sudo cp /usr/local/cuda-10.2/lib64/libcublas.so.10.0 /usr/local/lib/libcublas.so.10.0 && sudo ldconfig  
sudo cp /usr/local/cuda-10.2/lib64/libcurand.so.10.0 /usr/local/lib/libcurand.so.10.0 && sudo ldconfig 
sudo cp /usr/local/cuda-10.2/lib64/libcudnn.so.7 /usr/local/lib/libcudnn.so.7 && sudo ldconfig

6.CUDA卸载
(1)在/usr/local/cuda/bin目录下运行卸载脚本:

sudo  ./uninstall_cuda_10.0.pl

(2)删除安装文件夹:

sudo rm -rf cuda
sudo rm -r cuda-10.0

(3)查找是否有没卸载干净的文件,给删除,经验表明其实基本全部删完了,不要乱删东西!

sudo find / -name cuda10*

Cudnn安装

1.官方文件下载
点击链接下载官网,我选择安装的是适配CUDA10.0的Cudnn7.6.5,点击cuDNN Library for Linux选项进行下载:
https://developer.nvidia.com/rdp/cudnn-download
在这里插入图片描述
2.输入下列命令进行安装
对下载的文件进行解压,会得到一个cuda文件夹,进入后执行命令进行安装:

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

3.查看cudnn版本

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

在这里插入图片描述
4.卸载cudnn
如果需要卸载cudnn的话,只需要执行以下两条命令,然后重新安装即可

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

Anaconda安装

1.下载链接,注意要安装python3版本:
https://www.anaconda.com/products/individual#linux
2.进入安装包目录,打开Terminal进行安装

bash Anaconda3-2020.02-Linux-x86_64.sh

按照命令行中的安装指导,一直选择默认项就可以了
3.启动Anaconda Navigator 图形化界面

 anaconda-navigator

Tensorflow安装配置

1.创建虚拟环境并激活

conda create -n tensorflow python=3.6
source activate tensorflow

2.安装依赖包

pip3 install numpy
pip3 install scipy
pip3 install cython
pip3 install h5py
pip3 install Pillow
pip3 install scikit-image
pip3 install theano
pip3 install jupyter
pip3 install six
pip3 install imgaug
pip3 install opencv-python

3.安装keras
keras与Tensorflow有版本相互依赖关系,具体详见官网
在这里插入图片描述
安装keras时要指定版本号:

pip3 install keras==2.2.5

卸载的话用下列命令:

pip3 uninstall keras

4.安装pycocotools

git clone https://github.com/waleedka/coco.git
cd /home/shiqi/coco/PythonAPI
python3 setup.py build_ext install

5.安装Tensorflow

  • Tensorflow版本对GCC、CUDA、Cudnn有版本适配要求,具体详见官网
    在这里插入图片描述
  • 查看电脑的gcc版本
gcc -v

本电脑是Ubuntu16.04自带的gcc5.4.0,所以选择安装Tensorflow-1.14.0,这也是之前安装CUDA10.0和Cudnn7.6.5的原因。本来依据官网安装的是Cudnn7.4,但是运行Mask-Rcnn时出错,所以卸载重装Cudnn7.6.5。

  • 输入命令安装tensorflow
pip3 install tensorflow-gpu==1.14.0 
  • 安装完成之后输入下列命令验证一下:
python3
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
sess.run(hello)

如果命令行输出 Hello, TensorFlow! ,说明tensorflow安装成功
测试完成以后输入 exit() 退出python,继续下一步安装
6.卸载Tensorflow

sudo pip3 uninstall protobuf
sudo pip3 uninstall tensorflow-gpu

Mask-RCNN安装配置

1.下载Mask-RCNN

 git clone https://github.com/matterport/Mask_RCNN.git

2.下载coco权重文件 mask_rcnn_coco.h5
https://github.com/matterport/Mask_RCNN/releases
3.运行Mask_RCNN案例

cd /home/shiqi/Mask_RCNN
jupyter notebook
  • 稍等片刻,会在浏览器打开页面,点击进入 samples目录,点击demo.ipynp进入代码运行页面。
  • 选择 Cell 菜单,在 Cell下拉菜单选择 Run All,稍等片刻,在该页面底部会输出运行结果。

在这里插入图片描述

  • 运行过程中可能出现的错误
import cv2
ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type

这是由于电脑之前安装了ROS的缘故,ROS中自带的库与其发生了冲突,在/anaconda3/envs/tensorflow/lib/python3.6/site-packages.imgaug.py文件中进行如下修改可以解决:

import sys
ros_path = '/opt/ros/kinetic/lib/python2.7/dist-packages'
if ros_path in sys.path:
    sys.path.remove(ros_path)
import cv2
sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')

参考博客:
Ubuntu16.04更换cudnn版本
ubuntu16配置Mask-RCNN
安装了ros后Python3 调用import cv2报错解决办法
ubuntu16.04 RTX2060||安装nvidia显卡驱动|cuda|cudnn

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值