ubuntu16.04深度学习环境的配置【转】
本文转载自:https://my.oschina.net/u/3837179/blog/1920756
在ubuntu中配置GPU的深度学习环境相较于win问题要多很多,这几天琢磨了一下Ubuntu下的环境配置,参考很多人的博客,也遇到了不少坑,好不容易配置成功了,希望写下来,和大家分享,避免大家走弯路。环境的配置主要是nvidia显卡驱动的安装,在驱动安装的过程中遇到了问题,可以参考博客后面的问题解决方案,主要步骤就是装nvidia驱动,然后是安装cuda和cudnn,这两个一般问题不大。配置成功后就可以根据需要安装自己使用的深度学习框架(比如目前比较火的tensorflow和pytorch)。这两个框架本人建议使用Anconda安装,一来方便安装,二来如果出错,可以直接删除anconda文件夹重新安装即可。
软件要求
Ubuntu16.04
Nvidia gtx 750 Ti
Cuda 9.0
Cudnn 7.0
Nvidia显卡驱动的安装
1 禁用显卡驱动nouveau
网上很多文章说在官网下载run文件安装,这样安装的成功率较低,不建议这样做。还有在出现循环登录,黑屏时好多博客说卸载重装,这样也不大提倡,具体解决这些问题看博客后面的解决方案,亲测有效。由于nvidia的显卡驱动是闭源软件,因此ubuntu上默认是没有的,自带的显卡驱动叫做nouveau,安装之前要将nouveau先禁用掉,在终端里输入:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在vim编辑器中输入以下两行:
blacklist nouveau
options nouveau modset=0
然后配置文件生效,终端中输入:
sudo update-initramfs –u
2. 接下来安装一些后面会用到的32位lib,终端中依次输入
sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1
然后重启,输入:
sudo reboot
3. 再次进入系统
同时按下Ctrl+Alt+F1进入tty模式,登录账号,输入用户名密码。然后关闭图形界面服务,输入:
sudo service lightdm stop
接下来添加nvidia驱动的ppa源并进行安装:
sudo add-apt-repository ppa:graphics-drivers/ppa
查看可安装的驱动版本,选择合适的版本安装,这里安装的384版本,
ubuntu-drivers devices
安装nvidia驱动及其依赖的包,
sudo apt-get update sudo apt-get install nvidia-384
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
打开图形界面:
sudo service lightdm start
禁用Secure boot的问题(非常非常重要!!!好多博客说在BIOS中禁用Secure boot,这样也可以,但会影响到win的启动,所以直接使用mok工具即可,如果这一步操作不成功,就九九归一了,滑稽):
sudo moktuil --disable-validation
然后输入8-16位密码(这里最好用简单的密码,本人之前设置很复杂的密码,结果在后面的mok manager界面输入密码时经常出错,所以如:88888888这样的密码很容易成功) 然后重启,输入:
sudo reboot
如果出现蓝色界面,选择改变secure boot状态的选项,进去提示输入对应位的密码(如:enter 2 characters:则输入密码的前两位),输入几遍后最后选择yes启动。
打开终端,输入,nvidia-smi和nvidia-settings如果输出如下图,说明安装成功:
这时nvidia就安装好了,如果碰到黑屏,循环登录,参考后面的问题解决方案。
Cuda的安装
找到下载文件的路径
sudo sh cuda_9.0.176_384.81_linux.run
回车,一路往下运行,直到提示“是否为NVIDIA安装驱动nvidia-384?”,选择否,因为已经安装好驱动程序了,其他的全都是默认,安装位置默认是/usr/local/cuda,配置环境变量,运行如下命令打开profile文件
sudo sh cuda_9.0.176_384.81_linux.run
打开文件后在文件末尾添加路径,也就是安装目录,命令如下:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
保存,然后重启电脑
sudo reboot
测试CUDA的例子
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果显示的是关于GPU的信息,则说明安装成功了。 最后你会看到cuda驱动、sample、tookit已经安装成功,但是缺少一些库。
环境变量配置 安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
exportLD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
然后设置环境变量和动态链接库,在命令行输入:
sudo gedit /etc/profile
在打开的文件末尾加入:
export PATH=/usr/local/cuda/bin:$PATH
保存之后,创建链接文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在打开的文件中添加如下语句:
/usr/local/cuda/lib64
然后执行
sudo ldconfig
使链接立即生效
cudnn的安装
1) 继续Ctrl+alt+F1进入的字符界面 2) 进入解压后的cudnn-9.0-linux-x64-v7.0.tgz文件cuda,在终端执行下面的指令安装:
tar -zxvf cudnn-9.0-linux-x64-v7.0.tgz
cd cuda
sudo cp lib64/lib* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
然后更新网络连接:
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.0.3 # 自己查看.so的版本
sudo ln -sf libcudnn.so.7.0.3. libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig
重新启动图形化界面
sudo service lightdm start
再Ctrl+alt+F7退出Text Mode
问题解决方案
在安装nvidia显卡驱动的过程中会遇到各种各样的问题,这里主要说明一下常见的3个问题:
问题1: 安装Ubuntu的时候,卡在Ubuntu的LOGO界面或黑屏
问题2: 双显卡安装Nvidia驱动,循环登录或黑屏
问题3: 启动后黑屏,并出现ubuntu the system is running in low-graphics mode 的错误
针对以上3个问题,我们这里提出了相应的解决方案。
注意!!!:对于问题1和问题2,如果下面对应的方法无效,则去掉”quiet splash”后面的apciosi或者nomodeset,在vthandoff后面添加acpi_osi或者nomodeset!!!
方案1(针对问题1):
- 启动系统后在Grub界面,选择ubuntu系统的那一行,然后按E键,就会进入Grub的编辑状态。
2、在quiet splash 后面加(先打空格)nomodeset,然后按F10保存启动
3、由于那个是临时改动,所以还需要一步,打开终端:
sudo vi /etc/default/grub
编辑打开的文件,找到GRUBCMDLINELINUX_DEFAULT那一行,在后面加上(在quiet splash后打一个空格) nomodeset,保存,然后在终端输入 :
sudo update-grub
重启即可。
方案2(针对问题2):
问题的根源是集显的问题(但由于我们是双系统或双显卡或着存在Grub启动项,导致没有解决到问题的根本!) 这一切的原因就是因为我们装系统的时候,加的那个参数nomodeset 接下来详细教程 1、 首先确定是否nvidia驱动已安装,按Ctrl+Alt+F1进入tty模式,登录,然后输入nvidia-smi如果输出显卡信息,说明安装成功了。 2、重新启动,在Grub界面选Ubuntu系统那一行然后按E键进入编辑模式:
3、也是上图那个位置,在 “quiet splash nomodeset”,主要看是否有nomodeset,有的话删除它(可能有人是queit splash= nomodeset,删除’= nomodeset’即可!) 4、然后在原来那个位置加 acpi_osi=linux(代码之间用空格隔开!),然后按F10启动,就可以进入界面了。
5、最后一步,保存信息,打开终端:
sudo vi /etc/default/grub 或 sudo gedit /etc/default/grub
#打开文件后将nomodest删除替换为 acpi_osi=linux
#然后更新grub
sudo update-grub
解释一下 Grub引导了系统进行启动,所以它的参数被传入了,即nomodeset(调用集显)如果存在,系统就会一直调用集显,然后就出现循环登录或黑屏。由于刚刚安装系统一般没有驱动,很多人只能通过调用集显去进入图形界面(除非在命令行下安装了驱动),导致了nomodeset参数的加入。 而acpi_osi=linux是告诉Grub,电脑将以Linux系统启动,调用其中驱动,所以可以用Nvidia的驱动进行显示了!
方案3(针对问题3):
当开机出现ubuntu the system is running in low-graphics mode错误时,按下Ctrl+Alt+F1,登录
输入:
cd /etc/X11
然后输入:
sudo cp xorg.conf.failsafe xorg.conf
重启:
sudo reboot
ubuntu16.04深度学习环境的配置【转】的更多相关文章
- ubuntu16.04深度学习环境配置
https://www.lizenghai.com/archives/14651.html https://blog.csdn.net/qq_40936141/article/details/8119 ...
- Ubuntu16.04深度学习基本环境搭建,tensorflow , keras , pytorch , cuda
Ubuntu16.04深度学习基本环境搭建,tensorflow , keras , pytorch , cuda Ubuntu16.04安装 参考https://blog.csdn.net/flyy ...
- deepin深度学习环境配置
deepin是一个精致优美的系统.最近因为工作需要在deepin上配置深度学习环境,话不多说,接下来记录下整个的配置过程. ×××本篇文章适合对深度学习环境配置有一定了解且对deepin系统感兴趣的同 ...
- Ubuntu16.04 + CUDA9.0 + cuDNN7.3 + Tensorflow-gpu-1.12 + Jupyter Notebook 深度学习环境配置
目录 一.Ubuntu16.04 LTS系统的安装 二.设置软件源的国内镜像 1. 设置方法 2.关于ubuntu镜像的小知识 三.Nvidia显卡驱动的安装 1. 首先查看显卡型号和推荐的显卡驱动 ...
- 深度学习环境配置Ubuntu16.04+CUDA8.0+CUDNN5
深度学习从12年开始打响,配置深度学习环境软件一直是一个头疼的问题,如何安装显卡驱动,如何安装CUDA,如何安装CUDNN:Ubuntu官方一直吐槽Nvidia显卡驱动有问题,网上大神也给出了关闭li ...
- 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0
目录 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0 Reference 硬件说明: 软件准备: 1. 安装Ubuntu ...
- 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)
写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- ubuntu18+gtx1060 +cuda9+cudnn-v7+opencv3.1.0 配置深度学习环境
将笔记本的ubuntu系统更新到18版本后重新配置深度学习环境,在此记载方便日后参考 具体配置为 Ubuntu18.04+gtx1060+opencv-3.1 第1步 安装依赖包 sudo apt-g ...
- Windows10 + eclipse + JDK1.8 + Apache Maven 3.6.0 + dl4j深度学习环境配置
Windows10 + eclipse + JDK1.8 + Apache Maven 3.6.0 + dl4j深度学习环境配置 JDK下载安装请自行,并设置好环境变量1 查看Java版本C:\Use ...
随机推荐
- MQTT的学习研究(十)【转】mosquitto——一个开源的mqtt代理
MQTT(MQ Telemetry Transport),消息队列遥测传输协议,轻量级的发布/订阅协议,适用于一些条件比较苛刻的环境,进行低带宽.不可靠或间歇性的通信.值得一提的是mqtt提供三种不同 ...
- python搭建简易Web Server
如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等.那么, Python可能帮助你,使用Python可以完成一个简单的内建 HTT ...
- 从CES看2016物联网发展趋势
[导读] 美国时间1月6号,千呼万唤始出来的2016年国际消费电子展(CES2016)在拉斯维加斯正式拉开序幕.三天会展完满落幕,这个被誉为全球消费电子技术风向标的北美最大消费电子展俨然变成了未来智慧 ...
- centos7上安装iptables
centos7上安装iptables的步骤 注意:CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #安装iptables ...
- 代码片段,使用TIKA来解析PDF,WORD和EMAIL
/** * com.jiaoyiping.pdstest.TestTika.java * Copyright (c) 2009 Hewlett-Packard Development Company, ...
- 几种常用的SQL优化工具及方法
转自:http://blog.itpub.net/35489/viewspace-764856/ 1. sql 详细执行计划,主要检查驱动路径,索引是否合适:同一个pl/sql窗口连续执行即可:exp ...
- MySQL 5.6 my.cnf 参数说明(转)
# 以下选项会被MySQL客户端应用读取. # 注意只有MySQL附带的客户端应用程序保证可以读取这段内容. # 如果你想你自己的MySQL应用程序获取这些值. # 需要在MySQL客户端库初始化的时 ...
- Ensemble Learning
Ensemble Learning是机器学习里最常见的建模方法,RandomForest 和 GBDT 采用了Ensemble Learning模式,只是具体方法不同. 下面简单翻译下一 https: ...
- 安装 sql server 2008出现重启电脑,另在server 2012 r2安装sql server 2008 安装不上
时即使是进行电脑重启,也会报这个错误,那么就不是电脑的问题了,其实是系统注册表在作怪,解决方法如下: 1.开始-->运行,输入regedit,打开注册表管理器: 2. 找到 HKEY_LOCAL ...
- 获取鼠标经过位置的X、Y坐标
利用JavaScript获取鼠标经过位置的X.Y坐标方法. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...