1.禁用第三方显卡驱动nouveau
sudo vim /etc/modprobe.d/blacklist.conf
在文件最后部分插入一下两行内容:
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u
lsmod | grep nouveau
不显示额外信息,则说明禁用成功,如下图所示:
2.下载官方驱动
官网网站下载显卡驱动,我安装的是440.10版本,官方驱动下载地址
3.安装驱动
service lightdm stop
apt-get remove nvidia-*
chmod a+x NVIDIA-Linux-x86_64-440.82.run
./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
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
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*
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*
1.下载链接,注意要安装python3版本:
https://www.anaconda.com/products/individual#linux
2.进入安装包目录,打开Terminal进行安装
bash Anaconda3-2020.02-Linux-x86_64.sh
按照命令行中的安装指导,一直选择默认项就可以了
3.启动Anaconda Navigator 图形化界面
anaconda-navigator
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
gcc -v
本电脑是Ubuntu16.04自带的gcc5.4.0,所以选择安装Tensorflow-1.14.0,这也是之前安装CUDA10.0和Cudnn7.6.5的原因。本来依据官网安装的是Cudnn7.4,但是运行Mask-Rcnn时出错,所以卸载重装Cudnn7.6.5。
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
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
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