1) 安装英伟达驱动
1.卸载原有驱动
2.禁用nouveau
3.禁用显卡
4.安装NVIDIA的run驱动文件:(–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要)
注:此时会出现
问题声明
在ubutnu上配置cuda时需要安装nvidia的驱动,所以在安装了驱动后出现了进入Ubuntu循环登录的问题。
问题解释(大概)
以下属于我的猜测
一般而言我们安装的ubuntu 的显示器并没有接到nvidia的显卡上,而是使用了intel的集显。我们安装驱动其实只是想将我们运算的显卡的驱动更新,结果都给搞了,所以产生了冲突。当然,也可能时opengl产生的冲突。
Nvidia驱动正确安装过程
找到适合的正确的驱动
去nvidia驱动官网下载
卸载掉原有驱动
sudo apt-get remove –purge nvidia*
如果使用的是apt-get
安装可以使用这种方法卸载,如果使用的是runfile,则使用--uninstall
命令,当然runfile安装的时候会卸载掉之前的驱动,所以可以不用手动去卸载。
禁用nouveau
打开编辑配置文件:
sudo gedit /etc/modprobe.d/blacklist.conf
在最后一行添加:
blacklist nouveau
禁用nouveau第三方驱动,之后也不需要改回来
执行:
sudo update-initramfs -u
重启后执行:
lsmod | grep nouveau
没有输出即屏蔽好了
安装驱动
进入命令行界面 注:(Ctrl + Alt + F7是回到桌面系统)
Ctrl-Alt+F1
给驱动run文件赋予执行权限
sudo chmod a+x NVIDIA-Linux-x86_64-390.48.run //获取权限
禁用X(显卡)服务(至关重要)
执行:
sudo /etc/init.d/lightdm stop
安装(注意 参数)
sudo ./NVIDIA-Linux-x86_64-390.48.run --no-opengl-files #注意,这里总是显示无效指令–no-opengl-files ,自己手打一遍就好
sudo /etc/init.d/lightdm start #开启显卡
- –no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
- –no-x-check 安装驱动时不检查X服务
- –no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。
安装驱动的时候,有一布问你”Would you like to run the nvidia-xconfig utility to automatically update your X configuration file…”什么的,选择 No。
启电脑,没有问题,输入命令:
nvidia-smi
技巧提示,如果你装驱动失败,进不去系统了,可能有的同志不知道怎么做了,就直接系统重装,这是一种方式,但是最简单的方式是,进文本tty1模式,输入命令:
sudo /etc/init.d/lightdm stop
sudo ./NVIDIA-Linux-x86_64-375.20.run --uninstall
sudo /etc/init.d/lightdm start
系统回到从前,继续做打不死的小强,继续试试
无法进入桌面的问题
如果出现无法进入桌面的问题,这是因为驱动修改了xorg的配置,可执行一下命令:
cd /usr/share/X11/xorg.conf.d/
sudo mv nvidia-drm-outputclass.conf nvidia-drm-outputclass.conf.bak
2)安装cuda(CUDA是一种并行计算的模型,能利用英伟达GPU的并行计算引擎)
下载好CUDA Toolkit9.1后,执行如下代码进行安装(此处不需要安装OPGL),代码如下:
1 sudo sh cuda_9.0.176_384.81_linux.run --no-opengl-libs #run文件的文件名根据自己下的文件名修改,默认是我提供的文件
这里可能会出现无法解压,或/usr无空间的问题(最主要还是你的cuda文件有问题,最好重新下载)
输出显示:
这里先进入协议,可以按回车阅读,也可以直接 CTRL+C退出
1 Do you accept the previously read EULA?
2 accept/decline/quit: accept
3 Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
4 (y)es/(n)o/(q)uit: n
5 Install the CUDA 9.0 Toolkit?
6 (y)es/(n)o/(q)uit: y
7 Enter Toolkit Location
8 [ default is /usr/local/cuda-9.0 ]:
9 Do you want to install a symbolic link at /usr/local/cuda?
10 (y)es/(n)o/(q)uit: y
11 Install the CUDA 9.0 Samples?
12 (y)es/(n)o/(q)uit: y
13 Enter CUDA Samples Location
14 [ default is /home/pertor ]:
15 Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...
16 Missing recommended library: libXmu.so
添加环境变量:
sudo gedit ~/.bashrc
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc
验证CUDA9.0是否安装成功
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
输出如下信息表示成功安装
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GT 740M"
CUDA Driver Version / Runtime Version 9.0 / 9.0
CUDA Capability Major/Minor version number: 3.5
Total amount of global memory: 2004 MBytes (2100953088 bytes)
( 2) Multiprocessors, (192) CUDA Cores/MP: 384 CUDA Cores
GPU Max Clock rate: 1032 MHz (1.03 GHz)
Memory Clock rate: 800 Mhz
Memory Bus Width: 64-bit
L2 Cache Size: 524288 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
重启,并不会出现循环登录的问题
禁忌
- 安装CUDA时一定使用runfile文件,这样可以进行选择。不再选择安装驱动,以及在弹出xorg.conf时选择NO
- 不要使用ubuntu设置中附加驱动中驱动
提醒
- cuda安装时会将源文件装在
/usr/local/cuda-8.0
下,然后会创建一个/usr/local/cuda
的链接,所以在安装tensorflow设置cuda和cudnn路径以及拷贝cudnn文件到cuda文件夹下时,注意使用真实的路径 - 在安装了cuda之后再安装nvidia驱动,可能这和网上“流传”的教程有些出入,但是长得帅的人都这样做了,换句话说,这样做的话会避免出现一些奇怪的问题。比如:tf安装好了出现的缺少libcuda.so.1
再结合各个框架官网的安装教程,相信大家会拥有一个好的开发环境了。那么让我们开始好好调教系统吧。
以上。
3)安装cudnn(NVIDIA打造的针对深度神经网络的加速库)
这个需要申请账号,注册后进入官网,如下图所示
cuDNN 的全称是 The NVIDIA CUDA® Deep Neural Network library,是专门用来对深度学习加速的库,它支持 Caffe2, MATLAB, Microsoft Cognitive Toolkit, TensorFlow, Theano 及 PyTorch 等深度学习的加速优化,目前最新版本是 cuDNN 7.1,接下来我们来看下它的安装方式。
下载链接:https://developer.nvidia.com/rdp/cudnn-download,需要注册之后才能打开,这里我们选择 cuDNN v7.1.1 (Feb 28, 2018), for CUDA 9.0,然后选择 cuDNN v7.1.1 Library for Linux,如图所示:
下载下来之后解压安装,执行如下步骤:
1 tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz
2 sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
3 sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
4 sudo chmod a+r /usr/local/cuda/include/cudnn.h
5 sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7
生成软衔接
sudo ln -s libcudnn.so.7.1.2 libcudnn.so.7
生成软链接
sudo ln -s libcudnn.so.7libcudnn.so
执行完如上命令之后,cuDNN 就安装好了,这时我们可以发现在 /usr/local/cuda/include 目录下就多了 cudnn.h 头文件。
终端中执行nvcc -V 显示如下信息则表示成功
nvcc -V
pertor@pertor-computer:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
此时可能会有一个提示需要安装 NVIDIA-CUDA-toolkit,按照系统指示安装即可
3)安装anaconda
主要介绍在 Ubuntu 14.04中安装 Anaconda3 的详细过程。
下载
官方下载地址:https://www.continuum.io/downloads
所有安装包地址:https://repo.continuum.io/archive/
这里使用 Python 3.5 版本的 “Anaconda3-4.2.0-Linux-x86_64.sh”,如果下载速度慢或下载失败,可以翻墙下载。
也可以直接使用我的百度云分享的文件:链接:http://pan.baidu.com/s/1boDmMZX 密码:0ega
安装
安装较为简单,这里参考官方文档:https://docs.continuum.io/anaconda/install/linux.html
在文件目录下执行:
bash Anaconda3-4.2.0-Linux-x86_64.sh
- 1
根据提示输入回车
这里需要查看注册信息,回车浏览完信息即可
阅读完注册信息后,这里输入“yes”
回车即可进行安装
这里输入“yes”选择加入环境变量
看到这些信息说明已经安装完成。
根据信息“For this change to become active, you have to open a new terminal.”(要使这个更改生效,必须打开一个新的终端。)这句话提示,需要在新的终端窗口使用anaconda,打开新的终端,查看相应的版本信息
顺便安装下 VS code 这样看代码舒服点
4)安装anacond的opencv依赖包
conda install -c conda-forge opencv boost protobuf gflags glog lmdb leveldb
此时最好重新打开一个终端,否则会显示无该指令
5)gcc编译环境的更换
gcc g++ 4.8
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
sudo update-alternatives --config gcc
sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100
sudo update-alternatives --config g++
5)anaconda lib环境配置
sudo gedit ~/.bashrc
export LD_LIBRARY_PATH="/home/db/anaconda3/lib:$LD_LIBRARY_PATH"
source ~/.bashrc