由于安装nvidia显卡驱动的时候gcc版本过高会导致不成功,所以在安装驱动之前我们要对gcc进行降级,在这里我用的gcc版本为gcc4.8,其实版本在gcc5.3以下就可以了。
(1)先看看系统用的gcc和g++是什么版本
gcc -v
可以获得的信息如下
gcc version 5.2.1
(2)如果我们想使用gcc4.8,首先看看有没有安装gcc4.8
ls /usr/bin/gcc*
结果只有/usr/bin/gcc /usr/bin/gcc-4.4两个,那么我们需要安装
sudo apt-get install gcc-4.8 gcc-4.8-multilib g++-4.8 g++-4.8-multilib
(3)安装好后输入以下指令:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
(这里的50和40代表优先级)
接着输入:
sudo update-alternatives --config gcc
要维持当前值[*]请按回车键,或者键入选择的编号:
要想用哪个gcc就输入编号。
再用gcc -v 来看一下版本是否改变了。
gcc -v
(4)同样也要设置一下g++的
sudo update-alternatives –install /usr/bin/g++ g++ /usr/bin/g++-5 50
sudo update-alternatives --install/usr/bin/g++ g++ /usr/bin/g++-4.9 40
如果想删除可选项的话可以键入以下指令:
sudo update-alternatives --remove gcc /usr/bin/gcc-4.9
anaconda 里面集成了很多关于 python的第三方库,通过anaconda安装会省很多事,不然以后需要自己手动安装一些依赖项,因此在这先将anaconda安装。
(1)下载
下载网址:https://www.anaconda.com/download/#linux
下载自己需要的版本,我选择的版本为:Anaconda2-5.0.1-Linux-x86_64.sh
(2)安装
进入Anaconda2-5.0.1-Linux-x86_64.sh的目录下,执行下列命令进行安装。
sudo ./Anaconda2-5.0.1-Linux-x86_64.sh
输入回车,弹出须知,再一直按Ctrl+F,直到须知结束,输入yes继续。最后选择自己的安装路径,即可完成安装,会在home目录下出现一个anaconda2的文件夹。
(3)查看版本
anaconda -V
(1)禁用nouveau驱动和相关的驱动包
用编辑器打开blacklist.conf配置文件
sudo gedit /etc/modprobe.d/blacklist.conf
在文件的最后一行加入下面的命令,屏蔽有影响的驱动包(有的博客添加了blacklist amd76x_edac,其实不加也是可以安装成功的)
blacklist rivafb
blacklist vga16fb
blacklist nouveau
blacklist nvidiafb
blacklist rivatv
(2)卸载所有安装的nvidia驱动
如果之前没安装过nvidia驱动,可以不执行这条指令,但是执行以下也没关系。
sudo apt-get--purge remove nvidia-*
卸载完以后,重启。
(3)安装显卡驱动
在http://www.geforce.cn/drivers上下载对应的显卡驱动包,如下图所示。
我选择的是(NVIDIA-Linux-x86_64-390.67.run)(支持大部分显卡,我使用的是GTX 1070)
安装需要的依赖
sudo apt update
sudo apt install dkms build-essential linux-headers-generic
安装驱动包
因为要关闭图形界面,最好手机拍照保存此教程,
首先,Ctrl+Alt+F1进入命令提示符界面
然后,输入对应的username和password进入命令行.
最后,使用指令sudo service lightdm stop关闭图形界面,再利用cd指令进入下载好的驱动目录
sudo chmod 755 NVIDIA-Linux-x86_64-390.67.run
#修改权限(否则没有访问权限,无法进行指令安装)
sudo ./NVIDIA-Linux-x86_64-390.67.run –no-x-check –no-nouveau-check –no-opengl-files
#安装驱动
#–no-x-check 关闭X服务
#–no-nouveau-check 禁用nouveau
#–no-opengl-files 不安装OpenGL文件
#…安装完成后
sudo update-initramfs -u
sudo reboot
判断显卡驱动是否安装成功
nvidia-smi #输入指令查看显卡信息
(1)进入CUDA9.0官网,下载cuda9.0。
下载以后的.run文件为cuda_9.0.176_384.81_linux.run。
(2)给cuda文件取消权限
sudo chmod 777 cuda_9.0.176_384.81_linux.run
(3)执行安装程序
sudo sh cuda_9.0.176_384.81_linux.run
(4)配置环境变量
sudo gedit ~/.bashrc
在文件末尾添加:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64:$LD_LIBRARY_PATH
(5)测试cuda,最后输出pass,则为正确安装。
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
(1)把cudnn压缩包下载下来后,按照如下步骤安装即可:(版本为cuDNN7.4.1)网址:https://developer.nvidia.com/rdp/cudnn-download(需要注册一下账号)
(2)删除原来的cudnn系统路径下的一些文件
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
#这里是通配符,libcudnn指的是名字中带有libcudnn的所有文件
(3)安装刚才解压的cudnn版本,在终端cd到刚解压的cuda文件夹,然后继续输入下面两个指令,这两个指令相当于把解压后的cuda文件夹下的一些文件拷到系统路径下面
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/
#这里是通配符,lib指的是名字中带有lib的所有文件
(4)在系统路径下建立软链接(解压出来的lib64下面有3个so文件。分别是libcudnn.so 和 libcudnn.so.7以及 libcudnn.so.7.4.1文件。并且这3个点so文件大小都一样。其实都是软连接!libcudnn.so链接到libcudnn.so.7,而libcudnn.so.7.又链接到libcudnn.so.7.4.1。 真正的文件只有libcudnn.so.7.4.1)
cd /usr/local/cuda/lib64
sudo chmod +r libcudnn.so.7.4.1
sudo ln -sf libcudnn.so.7.4.1 libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
接下来设置环境变量:
sudo gedit /etc/profile
在打开的文件中加入如下两句话
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
保存后,使环境变量立即生效,
source /etc/profile
(1)首先安装一般依赖项
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
(2)再安装BLAS依赖项
sudo apt-get install libatlas-base-dev
(3)下载caffe的github包,解压为caffe文件夹,然后进入到源码目录
cd caffe
(4)编译Caffe
cp Makefile.config.example Makefile.config
注意:Makefile和Makefile.config文件需要修改的地方:
1)Makefile
2) Makefile.config
需要使用cuDNN的朋友可以将Makefile.config中USE_CUDNN := 1这一行之前的#号注释去掉
用到了opencv,记得打开opencv并选择opencv的版本
同时,为了匹配cuda9.0的计算能力,把Makefile.config中CUDA_ARCH中的前两行去掉,如下图所示(保留也行,编译的时候会弹出警告)
将INCLUDE_DIRS和LIBRARY的地址改为以下地址。
(9)最后编译
make all -j8
(如果在编译过程中有错误,可以先make clean,然后make all –j8)
最后再测试一下:
make test
(1)下载PyTorch
由于直接用指令下载存在网络问题,所以我选择手动下载安装。首先下载所需版本PyTorch。在PyTorch主页上点击“Click here for previous versions of PyTorch”,如图右下角所示。地址:https://pytorch.org/get-started/previous-versions/
找到所需版本,如上图所示,下载torch-0.4.0-cp35-cp35m-linux_x86_64.whl。其中,0.4.0表示PyTorch版本,cp35表示支持Python3.5,cuda90表示支持GPU版本,电脑有GPU的话须选择该项。
(2)安装PyTorch
进入PyTorch的下载目录,使用pip3命令安装:
pip3 install torch-0.4.0-cp35-cp35m-linux_x86_64.whl
(3)安装torchvision
安装torchvision比较简单,可直接使用pip3命令安装:
pip3 install torchvision
至此,pytorch和torchvision已安装完毕。
(4)更新numpy
安装成功pytorch和torchvision后,输入:
python3
>>>import torch
可能会出现报错的情况,如下所示:
ImportError: numpy.core.multiarray failed to import
这是因为numpy的版本需要更新,直接使用pip更新numpy:
pip3 install numpy
至此,PyTorch安装成功:
最后验证GPU也可以用。
(1)装python对应版本的pip和依赖包
若python版本为2.7,则输入如下命令:
sudo apt-get install python-pip python-dev
若python版本为3.x,则输入如下命令:
sudo apt-get install python3-pip python3-dev
(2)升级pip版本
在装tensorflow之前,不管是不是最新的pip版本,都要更新一下,具体命令如下:
python 2.7版本:
sudo pip install --upgrade pip
python 3.x版本:
sudo pip3 install --upgrade pip
(3)安装TensorFlow
TensorFlow可以安装CPU和GPU两种版本,
CPU版本安装命令如下:
python 2.7版本:
sudo pip install tensorflow
python 3.x版本:
sudo pip3 install tensorflow
GPU版本安装命令如下:
python 2.7版本:
sudo pip install tensorflow-gpu
python 3.x版本:
sudo pip3 install tensorflow-gpu
(4)测试安装结果
进入python编译环境,导入TensorFlow,做一个简单的加法运算。
sudo pip3 install tensorflow-gpu # GPU加速版
sudo pip3 install keras
在终端中验证是否安装成功:
python3
>>>import tensorflow
>>>import keras
如果不报错,即配置成功!
注:pdf版本的教程下载地址:https://github.com/EdwardBao1006/deeplearning_configure