ubuntu安装显卡驱动的三种方法
一是:系统设置->软件更新->附加驱动->选择nvidia最新驱动(361)->应用更改
简单但是不提倡
二是:先官网下载好对应驱动编译
Nvidia中文官网是 http://www.nvidia.cn/page/home.html
1)打开终端,先删除旧的驱动:
sudo apt-get purge nvidia*
2)禁用自带的 nouveau nvidia驱动
创建一个文件通过命令 sudo vim /etc/modprobe.d/blacklist-nouveau.conf
并添加如下内容:
blacklist nouveau
options nouveau modeset=0
再更新一下
sudo update-initramfs -u
修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau
3)重启系统至init 3(文本模式),也可先进入图形桌面再运行init 3进入文本模式,再安装下载的驱动就无问题,
首先我们需要结束x-window的服务,否则驱动将无法正常安装
关闭X-Window,很简单:sudo service lightdm stop,然后切换tty1控制台:Ctrl+Alt+F1即可
4)接下来就是最关键的一步了:sudo./NVIDIA.run开始安装,安装过程比较快,根据提示选择即可最后安装完毕后,重新启动X-Window:sudo service lightdm start,然后Ctrl+Alt+F7进入图形界面;
最后测试一下是否安装成功
nvidia-smi
nvidia-settings
三是:添加官方ppa源
快捷键ctrl+alt+T打开命令终端,加入官方ppa源。
$ sudo add-apt-repository ppa:graphics-drivers/ppa
需要输入密码并按enter键确认。之后刷新软件库并安装最新驱动。
$ sudo apt-get update
$ sudo apt-get install nvidia-367nvidia-settings nvidia-prime
安装完成后通过下面命令查看是否安装成功。
$ nvidia-settings
注意安装完成后要重启,有如下效果则安装完成,否则就说明安装有问题,尝试关闭UEFI保护试试。
安装了nvidia367后循环登录出现问题,解决参考http://www.jianshu.com/p/34236a9c4a2f
Cuda-9.0
Cuda-9.0下载链接Cuda Toolkit 9.0 Downloads
在这里插入图片描述
安装官网命令安装
在这里插入图片描述
安装成功后,配置环境变量
打开/etc/profile文件
$ sudo getdit /etc/profile
将下面两行添加到文件末尾
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64
**
$ source /etc/profile
测试例子
$ cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery
成功后截图
在这里插入图片描述
4. Cudnn-7.1.4
Cudnn-7.1.4下载链接cuDNN v7.1.4,选择cuDNN v7.1.4 Library for Linux
在这里插入图片描述
将下载cudnn-9.0-linux-x64-v7.1.tgz解压,解压后cuda文件夹下有include、lib64两个文件夹
将cudnn的文件复制到前面安装的cuda-9.0下
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/* /usr/local/cuda/lib64/
接下来要ln cudnn.so
$ cd /usr/local/cuda/lib64/
$ sudo rm -rf libcudnn.so libcudnn.so.7
$ sudo ln -s libcudnn.so.7.1.4 libcudnn.so.7
$ sudo ln -s libcudnn.so.7 libcudnn.so
查看
$ ls -l libcudnn*
在这里插入图片描述
安装 Anaconda (python3.6)
Ubuntu中自带python2.7和python3.5,但是很多情况下我们需要使用python3.6,以下是在终端中安装python3.6的详细步骤
在终端中输入下面的命令
wget http://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
tar -xvzf Python-3.6.4.tgz
cd Python-3.6.4
./configure --with-ssl
make
sudo make install
安装好后可以通过python3命令进行检查所安装版本,如下图所示
可能有细心的同学发现和我的图片有些不一样,缺少了Anaconda,下面将介绍如何安装这个重要的工具
官方下载地址:https://www.anaconda.com/download/
可以通过内置的Firefox浏览器对其进行下载,注意下载对应的Linux版本,文件名为Anaconda3-5.0.1-Linux-x86_64.sh
下载完成后,在文件管理器中“下载”目录中找到这个文件,右击选择属性,如下图所示
在终端中输入
cd /home/hello/下载
cd 后面的一段为上图所示位置后面的路径
接下来运行如下命令进行安装
bash Anaconda3-5.0.1-Linux-x86_64.sh
根据提示输入回车键
往下是浏览注册信息,一路按回车到底后输入yes继续安装
在如图所示下面回车继续
此后遇到yes和no的地方一律输入yes即可
安装完成后输入下面的命令以检验,出现如图所示即为安装成功
安装 OpenCV 3.4.1
命令行进入已解压的文件夹 opencv-3.4.1 目录下,执行:
-
mkdir build # 创建编译的文件目录
-
cd build
-
cmake -D WITH_IPP=OFF -D PYTHON_DEFAULT_EXECUTABLE=~/anaconda3/bin/python3 -D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF -D PYTHON3_EXCUTABLE=~/anaconda3/bin/python3 -D PYTHON3_INCLUDE_DIR=~/anaconda3/include/python3.6m -D PYTHON3_LIBRARY=~/anaconda3/lib/libpython3.6m.so.1.0 -D PYTHON_NUMPY_PATH=~/anaconda3/lib/python3.6/site-packages ..
然后执行
-
make -j4 #开始编译
-
sudo make install #安装
-
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
-
sudo ldconfig
编译时间较长,请耐心等待,我的电脑大概花费了50分钟。安装完成后输入以下指令验证OpenCv版本:
pkg-config --modversion opencv
第七步:安装 Caffe
首先要安装一堆依赖项,不然编译的时候会报错
-
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
-
sudo apt-get install --no-install-recommends libboost-all-dev
-
sudo apt-get install libatlas-base-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-de
然后下载caffe
git clone https://github.com/BVLC/caffe.git
然后
-
cd caffe //进入到刚刚git下来的caffe
-
sudo cp Makefile.config.example Makefile.config //将Makefile.config.example的内容复制到Makefile.config
sudo cp ~/anconda3/bin/libpython3.6m* /usr/lib/x86_64-linux-gnu #配置Makefile.config文件,在这之前先复制几个文件
sudo vim Makefile.config //打开Makefile.config文件 修改以下内容:
-
#取消以**释
-
USE_CUDNN := 1
-
OPENCV_VERSION := 3
-
WITH_PYTHON_LAYER := 1
-
#将Python有关目录修改为
-
PYTHON_LIBRARIES := boost_python-py35 python3.6m #这里需要建立boost_python3链接,详细介绍可看https://blog.csdn.net/lien0906/article/details/51784191
-
ANACONDA_HOME := /path/to/anaconda3 #改成自己anaconda的路径
-
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
-
$(ANACONDA_HOME)/include/python3.6m \
-
$(ANACONDA_HOME)/lib/python3.6/site-packages/numpy/core/include
-
PYTHON_LIB := $(ANACONDA_HOME)/lib
-
LINKFLAGS := -Wl,-rpath,$(ANACONDA_HOME)/lib
-
#最后修改INCLUDE_DIRS,LIBRARY_DIRS
-
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
-
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
修改Makefile文件
vim Makefile
用/检索NVCCFLAGS,找到后将
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
然后再在大概181行的地方做修改
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
替换为
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 opencv_core opencv_imgproc opencv_imgcodecs opencv_highgui
最后
-
make all -j4
-
make test -j4
-
make runtest
-
make pycaffe -j4
在我经历了多次失败后终于成功用上了caffe和opencv,本文已经排了很多的坑,但即便如此,编译过程中出现错误也很正常,把错误拿到百度上搜基本都能解决,祝大家编译一次成功!
最后的最后,还有两个问题补充一下
1、在make runtest后,出现两个失败
-
**[ FAILED ] 2 tests, listed below:
-
[ FAILED ] BatchReindexLayerTest/2.TestGradient, where TypeParam = N5caffe9GPUDeviceIfEE
-
[ FAILED ] BatchReindexLayerTest/3.TestGradient, where TypeParam = N5caffe9GPUDeviceIdEE**
这个问题https://github.com/BVLC/caffe/issues/6164上可以完美解决,我在此翻译一下
vim Makefile
然后用/搜索NVCCFLAGS,知道搜到下面这一段
-
...
-
# Debugging
-
ifeq ($(DEBUG), 1)
-
COMMON_FLAGS += -DDEBUG -g -O0
-
NVCCFLAGS += -G
-
else
-
COMMON_FLAGS += -DNDEBUG -O2
-
endif
-
...
修改为
-
...
-
# Debugging
-
ifeq ($(DEBUG), 1)
-
COMMON_FLAGS += -DDEBUG -g -O0
-
NVCCFLAGS += -G
-
else
-
COMMON_FLAGS += -DNDEBUG -O2
-
NVCCFLAGS += -G
-
endif
-
...
也就是加一句NVCCFLAGS += -G
然后重新编译,那么所有test都能成功
2、在所有工作完成后import caffe,出现ImportError: No module named google.protobuf.internal
这是因为在anaconda3中没有装protobuf库,执行指令:
-
cd ~/anaconda3/bin
-
pip install protobuf
这时候再import caffe就没有问题了
至此大功告成
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:UBUNtu 16.04 cuda cudnn opencv anaconda caffe - Python技术站