Ubuntu16.04 安装Tensorflow1.7过程记录一:安装显卡驱动
为刚到手的Titan V装新系统,首先当然是显卡驱动安装。
可以参考这:https://jingyan.baidu.com/article/d7130635c5a86113fdf47532.html
单一开始“软件和更新”中附加驱动显示是空的,以为是没有,所以到Nvidia官网下载对应的驱动。结果速度超慢,半天后下载失败,继续下载就立刻完成了,但文件格式是deb,没run可选择。
尝试用命令安装deb文件,无效,发现装到“其他软件"中去了。
于是尝试https://blog.csdn.net/jasonzhangoo/article/details/54866049 中的方法:
添加官方ppa源
快捷键ctrl+alt+T打开命令终端,加入官方ppa源。
$ sudo add-apt-repository ppa:graphics-drivers/ppa
需要输入密码并按enter键确认。之后刷新软件库并安装最新驱动。
$ sudo apt-get update
也许是更新了ppa源,或者是在这过程中更新了系统软件,“软件和更新”中附加驱动显示出了Nvidia和Ubuntu的2种驱动。Nvidia的驱动居然是开源的,版本比之前下的还要新。点击应用。过程到1/4停顿半小时无进展,睡一夜后装好了,汗。
附:https://blog.csdn.net/CosmosHua/article/details/76644029
0. 综述
目前,知道3种安装N卡驱动的方法:
1. PPA源:最简便,但未必有最新驱动(亲测),或可能遇到问题(风闻)。
sudo add-apt-repository ppa:xorg-edgers/ppa #添加ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa #添加ppa源
sudo apt-get update #更新apt-get
然后进入:系统设置->软件和更新->附件驱动,选择更新的显卡驱动。
2. 安装CUDA时,顺便安装驱动:但未必是最新驱动(亲测)。
3. 去官网下载最新驱动,然后本地安装(本文用runfile)。
1. 先卸载原有N卡驱动
#for case1: original driver installed by apt-get:
sudo apt-get remove --purge nvidia*
#for case2: original driver installed by runfile:
sudo chmod +x *.run
sudo ./NVIDIA-Linux-x86_64-384.59.run --uninstall
如果原驱动是用apt-get安装的,就用第1种方法卸载。
如果原驱动是用runfile安装的,就用–uninstall命令卸载。其实,用runfile安装的时候也会卸载掉之前的驱动,所以不手动卸载亦可。
2. 禁用nouveau驱动
sudo gedit /etc/modprobe.d/blacklist.conf
1
在文本最后添加:(禁用nouveau第三方驱动,之后也不需要改回来)
blacklist nouveau
options nouveau modeset=0
然后执行:sudo update-initramfs -u
重启后,执行:lsmod | grep nouveau。如果没有屏幕输出,说明禁用nouveau成功。
3. 禁用X-Window服务
sudo service lightdm stop #这会关闭图形界面,但不用紧张
按Ctrl-Alt+F1进入命令行界面,输入用户名和密码登录即可。
小提示:在命令行输入:sudo service lightdm start ,然后按Ctrl-Alt+F7即可恢复到图形界面。
4. 命令行安装驱动
#给驱动run文件赋予执行权限:
sudo chmod +x NVIDIA-Linux-x86_64-384.59.run
#后面的参数非常重要,不可省略:
sudo ./NVIDIA-Linux-x86_64-384.59.run –no-opengl-files
–no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。
–no-x-check:表示安装驱动时不检查X服务,非必需。
–no-nouveau-check:表示安装驱动时不检查nouveau,非必需。
-Z, --disable-nouveau:禁用nouveau。此参数非必需,因为之前已经手动禁用了nouveau。
-A:查看更多高级选项。
必选参数解释:因为NVIDIA的驱动默认会安装OpenGL,而Ubuntu的内核本身也有OpenGL、且与GUI显示息息相关,一旦NVIDIA的驱动覆写了OpenGL,在GUI需要动态链接OpenGL库的时候就引起问题。
之后,按照提示安装,成功后重启即可。
如果提示安装失败,不要急着重启电脑,重复以上步骤,多安装几次即可。
Driver测试:
nvidia-smi #若列出GPU的信息列表,表示驱动安装成功
nvidia-settings #若弹出设置对话框,亦表示驱动安装成功
5. 调整屏幕分别率(已成功)
如果屏幕不能达到最佳分辨率时,可参见:http://blog.csdn.net/nostandby/article/details/69383543
#查看显示器标识符:我的是DVI-I-0,在'connected'之前。
xrandr
#查看分辨率的属性:我要看1920x1080的分辨率,在'Modeline'之后。
cvt 1920 1080
#创建新分辨率模式:拷贝'Modeline'之后的信息即可。
sudo xrandr --newmode "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
#为显示器添加分辨率模式:
sudo xrandr --addmode DVI-I-0 "1920x1080"
#将分辨率模式应用到显示器:
sudo xrandr --output DVI-I-0 --mode "1920x1080"
PS:最终发现,劣质的显卡-显示器转接头,导致了显示器和分别率无法识别。换了转接头,无需上述步骤,分辨率自然恢复。
6. 安装CUDA
sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-libs
1
--no-opengl-libs:表示只安装驱动文件,不安装OpenGL文件。必需参数,原因同上。注意:不是-no-opengl-files。
--uninstall (deprecated):用于卸载CUDA Driver(已废弃)。
--toolkit:表示只安装CUDA Toolkit,不安装Driver和Samples。
--help:查看更多高级选项。
之后,按照提示安装即可。我依次选择了:
accept #同意安装
n #不安装Driver,因为已安装最新驱动
y #安装CUDA Toolkit
<Enter> #安装到默认目录
y #创建安装目录的软链接
n #不复制Samples,因为在安装目录下有/samples
CUDA Sample测试:
#编译并测试设备 deviceQuery:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest
如果这两个测试的最后结果都是Result = PASS,说明CUDA安装成功啦。
sudo ./cuda_8.0.61.2_linux.run #最后安装补丁CUDA官方补丁
参考文献:
http://blog.csdn.net/u012759136/article/details/53355781
http://blog.csdn.net/u012581999/article/details/52433609
http://hyichao.github.io/cv/2016/10/15/ubuntu-cuda-caffe.html
http://blog.csdn.net/nostandby/article/details/69383543
http://www.linuxdiyf.com/linux/24659.html
Ubuntu16.04 安装Tensorflow1.7过程记录一:安装显卡驱动的更多相关文章
- 联想Y7000安装Ubuntu16.04/Win10双系统,wifi问题,显卡驱动和CUDA10安装
https://blog.csdn.net/la9881275/article/details/86720752 Ubuntu16.04系统安装拿到Ubuntu镜像制作装机优盘,这里就不写了.我的优盘 ...
- Ubuntu16.04 安装Tensorflow1.7过程记录二:安装CUDA及Tensorflow
参考 How to install Tensorflow 1.7.0 using official pip package 其中的CUDNN应该改为7.05for CUDA9.0 后面安装的spyde ...
- 我在Suse 11 Sp3上使用anaconda安装TensorFlow的过程记录
我在Suse 11 Sp3上使用anaconda安装TensorFlow的过程记录 准备安装包: gcc48 glibc--SP4-DVD-x86_64-GM-DVD1.iso tensorflow_ ...
- Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...
- 虚拟机安装及ubuntu-16.04.3-desktop-amd64.iso映像文件的安装
虚拟机安装及ubuntu-16.04.3-desktop-amd64.iso映像文件 搞了大半天才搞清楚装linux的前提是要先安装虚拟机的 先下载虚拟机,在然后创建虚拟机,在虚拟机里面再安装linu ...
- Ubuntu16.04多个版本GCC编译器的安装和切换
这几天在配置交叉编译ARM开发板的linux内核的过程中碰到了很多问题,其中包括了GCC版本太高等问题,由此我打算安装其他老的版本给我的Ubuntu16.04.实验过程如下: 官网的教程是最牛逼的,先 ...
- Ubuntu16.04多个版本GCC编译器的安装和切换【转】
本文转载自:https://www.cnblogs.com/uestc-mm/p/7511063.html 这几天在配置交叉编译ARM开发板的linux内核的过程中碰到了很多问题,其中包括了GCC版本 ...
- Ubuntu16.04下caffe CPU版的详细安装步骤
一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...
- Ubuntu16.04系统Python3相关环境或模块安装
前提:一般用户安装都命令前都需要sudo ,或者在root用户下 1.Ubuntu 16.04 安装PyCharm Ubuntu 16.04 安装PyCharm 本文通过第三方源安装PyCharm,好 ...
随机推荐
- 201772020113李清华《面向对象程序设计(java)》第十二周学习总结
1.实验目的与要求 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: (2) 掌握Java GUI中2D图形绘制常用类的API: (3) 了解Java GUI中2D图形中字体与颜色的 ...
- Java JTable列顺序和列宽度保存在用户本地
上周碰到了一个棘手的需求,就是要把用JTable的列顺序和列宽度保存下来,这次用户调整了列宽度,关闭程序,下次再打开时,这个列的宽还是要保持,因为SWing的特性,都是在程序启动时就确定了列顺序和列宽 ...
- selenium与chrome浏览器及驱动的版本匹配
用selenium+python+webdriver完成UI功能自动化,经常会碰到浏览器版本与驱动的版本不匹配而引起报错,下面就selenium与chrome浏览器及驱动的版本匹配 做个总结. 使用W ...
- 触摸事件,手势识别(UITouch,UIGestureRecognizer)
触摸发生时,UIWindow会有一个队列来存放所有的触摸事件,然后再把这些事件发送给对应的hit-test view,hit-test view会通过touch的四个函数来接收这些事件. 四个函数分别 ...
- Windows终端工具_MobaXterm
前言 有人喜欢小而美的工具,有人喜欢大集成工具.这里推荐一款增强型的Windows终端工具MobaXterm,它提供所有重要的远程网络工具(SSH,X11,RDP,VNC,FTP,MOSH ..... ...
- laravel passport加密jwt格式的access_token中的sub(user_id)字段
在很多需求我们不希望别人知道用户在我们表中的 user_id :但是又想用数据库的自增 id 功能:一般时候在取出用户后加密 user_id 加密即可:但是总有那么几个不经意间就可能把我们的 user ...
- onenet简介
物联科技|物联网开放平台探秘之移动OneNET平台(上) 物联科技 百家号17-07-1008:57 当前,国内外物联网行业发展如火如荼,众多传统行业也在谋求向物联网转型.许多电子工程师或出于个人意愿 ...
- 4、promise
es5 中 var obj = { ajax: function (callback) { console.log('执行') setTimeout(function () { callback &a ...
- to_char与to_date的区别
select * from csend where credttm > to_date('2018-06-11','yyyy-mm-dd'); select * from csend where ...
- Maven工程控制台乱码问题(IDEA)
转自https://blog.csdn.net/love_live2/article/details/79311978 个人推荐使用文章中介绍的第三种方法,感觉挺好用的