题记:从一开始不知道显卡就是GPU(虽然是学计算机的,但是我真的不知道…脑残如我也是醉了),到搞好所有这些环境前后弄了5天时间,前面的买显卡、装显卡和装双系统见另一篇博客装显卡、双系统,这篇主要记录我怎么配置后面的环境,虽然中间重装Ubuntu三次,后面安装过程也没差别。

基础平台:64-bit,Ubuntu14.04

1.安装NVIDIA驱动(参考技术文章,基本是复制啊,蟹蟹作者~)

(1) 在官网下载NVIDIA驱动,根据自己买的型号选择下载,放到 /home/lvxia/ 目录下面,我下载的是NVIDIA-Linux-x86_64-367.27.run.

(2) 屏蔽开源驱动 nouveau(原文章说“可以不编辑blacklist.conf,NVIDIA.run驱动程序可以自己停止其他开源驱动,但是需要重启”)

sudo gedit /etc/modprobe.d/blacklist.conf

添加以下内容保存

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
(这里有一行空格)

(3) 删除旧NVIDIA驱动

sudo apt-get --purge remove nvidia-*(需要清除干净)
sudo apt-get --purge remove xserver-xorg-video-nouveau

(4) 重启电脑。

(5) 按Ctrl + Alt +F1(F1~F6均可)到x-server, Ctrl+Alt+F7是返回

(6) 关闭图形环境,否则驱动无法正常安装

输入用户名密码登录,然后键入命令后执行(数字不能用小键盘输入)

sudo service lightdm stop

成功关闭服务后将出现:lightdm stop/waiting

(7) 进入驱动所在的文件夹,这里就是/home/lvxia,执行

sudo sh NVIDIA*.run

原文章链接里的 sudo sh NVIDIA.run 执行失败,键入用户密码。后面就一路Accept就可以~报错The distribution-provided pre-install script failed!不必理会,继续安装。最重要的一步,安装程序问你是否使用nv的xconfig文件,这里一点要选yes,否则在启动x-window时不会使用nv驱动。

至此,安装成功~

(8) 重启 X-window 服务

sudo service lightdm start

查看显卡是否装好,运行

glxinfo | grep rendering

假如显示"direct rendering: Yes",则已安装。

原技术文章写了另一PPA源方法,我没有测验过,就不贴了~~

2.安装Theano、cuda支持

这里看了很多不错的技术博客,但是因为没有一个是完全适合我的情况的,也入了不少坑,所以我自己也记录一个吧~

(1) Ubuntu-安装-theano+caffe-超详细教程

(2) Ubuntu 14.04系统安装Nvidia CUDA7.5并搭建Python Theano深度学习开发环境

(3) Ubuntu14.04安装cuda

蟹蟹作者们~~

2.1 安装Theano

(1) 预先安装工具

sudo apt-get install -y python-dev python-pip python-nose gcc g++ git gfortran

(2) 安装BLAS, LAPACK, ATLAS

sudo apt-get install -y libopenblas-dev liblapack-dev libatlas-base-dev

(3) 安装NumPy

后面安装的每一步测试为 0 errors,才能进行下一步~~时间都挺长的啊~

sudo pip install numpy
#进行测试。
python -c 'import numpy; numpy.test()'

也可以命令python进入—>import numpy—>numpy.test()。

(4) 安装scipy

sudo pip install scipy
python -c 'import scipy; scipy.test()'

(5) 安装Theano

sudo pip install Theano
sudo python -c 'import theano; theano.test()'

这个测试的时候遇到 ImportError:No module named nose-parameterized 错误,后来执行:

pip install nose_parameterized

再次测试就木有问题啦,等了好久~以上操作我都是参考博客2的,然后后面我按照他的操作装cuda时,install libgl1-mesa-glx的时候出现依赖包问题解决不了,报以下错误:

The following packages have unmet dependencies:

unity-control-center:      Depends:libcheese-gtk23(>=3.4.0) but it is not going to be installed

                                  Depends:libcheese7(>=3.0.1) but it is not going to be installed

令人抓狂的错误提示,后面搞这个搞了一两天,最后还是没有正面解决这个问题,不更新/更新系统补丁、不换/换软件源都不行,明明已经安装了依赖的包,但是却总提示包不被安装,最后通过另一篇博客里介绍的方法安装cuda了。。

2.2 安装Cuda(参考博客3)

(1) 验证电脑是否有显卡支持

lspci | grep -i nvidia

我买的是GTX 960,穷人版本…

(2) 查看Linux的版本

uname -m && cat /etc/*release

(3) 查看gcc版本

gcc --version

(4) 下载nvidia cuda的仓库安装包nvidia-cuda,找到自己电脑对应系统对应版本。

注意选择的是deb(network).

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.5-18_amd64.deb

直接下载到主目录下了~~

(5) 安装cuda软件包

sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb

(6) 更新本地仓库

sudo apt-get update

(7) 安装cuda啦

sudo apt-get install cuda

原来的技术博客里说Ubuntu系统安装好后不要更新系统补丁,原因见 博客3.

(8) 测试

echo 'export PATH=/usr/local/cuda-7.5/bin:$PATH' >> ~/.bashrc

echo 'export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc

source ~/.bashrc

这里最好重启一下电脑,因为我按照操作后测试deviceQuery时一开始是不对的,重启电脑后就好了~

2.3 验证

(1) 查看NVCC编译器的版本

nvcc -V i

(2) 查看显卡的驱动版本

cat /proc/driver/nvidia/version

(3) 安装cuda的示例代码

cuda-install-samples-7.5.sh /home/lvxia/cuda

(4) 编译代码

cd cuda/NVIDIA_CUDA-7.5_Samples/
make

(5) 运行代码

cd bin/x86_64/linux/release/
sudo ./deviceQuery
sudo ./bandwidthTest

最后一行 result=pass表示通过~

3. 验证环境

(1) 新建test.py,复制如下内容保存,(主目录/home/lvxia下)

from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time vlen = 10 * 30 * 768 # 10 x #cores x # threads per core
iters = 1000 rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in xrange(iters):
r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
print('Used the cpu')
else:
print('Used the gpu')

(2)新建 .theanorc 设置GPU代替CPU运算(主目录)

可以使用 gedit 打开,因为 vi 不太会操作。。复制如下内容到文件中保存。这个文件在home目录下看不到,可以通过命令 ls –all 看到的~

[global]
floatX=float32
device=gpu

(3) 运行test.py

python test.py

最后一行显示 used the gpu 就对啦~

然后有句提示CNMEM is disabled, cuDNN not available, 资料说CNMEM可以不用管,Theano支持cuDNN(可选),但是Tensorflow必须要cuDNN,所以就装cuDNN了。

(4) 安装cuDNN

cuDNN是专门针对deep learning框架设计的一套GPU计算加速方案,首先需要注册一下,然后才能下载cuDNN

进入Downloads目录

tar xvzf cudnn-7.5-linux-x64-v5.0-ga.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cd -a cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

有个技术博客里说的问题我这里没遇到。

再运行test.py,提示 CNMEM is disabled, cuDNN 5005对啦~!

后面发现了一些不错的博客,没有测试,贴在这后面看看 使用GPU和Theano加速深度学习Theano、Lasagne、TensorFlow在Ubuntu支持GPU的安装

end,happy~

艰辛五天:Ubuntu14.04+显卡驱动+cuda+Theano环境安装过程的更多相关文章

  1. ubuntu14.04显卡驱动问题(amd5600k集显7650d)

    安装ubuntu的时候,多次莫名其妙地黑屏,起初以为是最新得ubuntu14.04安装包不稳定,所以一直尝试了很多次. 重启-->安装-->黑屏(硬盘仍在转动,屏幕上什么都没有)--> ...

  2. Ubuntu18.04 显卡驱动+Cuda安装踩坑记录 以及Ubuntu虚拟内存的添加

    前几天买了张亮机卡,终于把主显卡成功直连到Unraid OS的虚拟机上了.然后就开始安装ubuntu系统开始配置环境,遇到了不少坑,特此记录. gcc版本问题 在安装显卡驱动的时候,不要修改gcc版本 ...

  3. ubuntu14.04下nodejs + npm + bower的安装、调试和部署

      1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...

  4. Ubuntu14.04(nginx+php+mysql+vsftp)配置安装流程

    Ubuntu14.04(nginx+php+mysql+vsftp)配置安装流程 1.先切换到root用户 sudo  su 2.更新软件源 apt update apt-get upgrade 3. ...

  5. Ubuntu 16.04 + Nvidia 显卡驱动 + Cuda 8.0 (问题总结 + 解决方案)【转】

    本文转载自:https://blog.csdn.net/Zafir_410/article/details/73188228 前言 前面好一阵子忙于写论文和改论文,好久没有做新实验了,最近又回到做实验 ...

  6. ubuntu18.40 rtx2080ti安装显卡驱动/cuda/cudnn/tensorflow-gpu

    电脑环境 ubuntu 18.40 gpu  rtx2080ti 一.安装显卡驱动 刚开始尝试用手动安装方式安装驱动 下载了驱动程序但是因为没有gcc所以放弃这种方法 后尝试最简单的方式 在 菜单-- ...

  7. Ubuntu 下安装Anaconda + 显卡驱动 + CUDA + CUDNN + 离线安装环境

    写来给自己备忘,并不是什么教程- .- 下载安装包 Anaconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 显卡驱动:https ...

  8. Ubuntu18.04 显卡驱动安装(解决各种疑难杂症)

    步骤 下载驱动 准备工作 进行安装 检查安装 下载驱动 首先我们需要去官网下载显卡驱动 打开浏览器,在百度搜索框中搜索:显卡驱动 下载 在手动搜索驱动程序一栏,根据自己的显卡进行选择 产品系列中,No ...

  9. Thinkpad Edge E440 Ubuntu14.04 无线网卡驱动 解决

    http://ubuntuforums.org/showthread.php?t=2190347 正文: Thinkpad Edge E440 安装 Ubuntu12.04 后 无法使用无线网卡, 须 ...

随机推荐

  1. C#编码好习惯,献给所有热爱c#的同学

    1. 避免将多个类放在一个文件里面. 2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面. 3. 一个文件最好不要超过500行的代码(不包括机器产生的代码). 4. 一个方法的代 ...

  2. vsftp 详解鸟哥版

    FTP (File Transfer Protocol) 可说是最古老的协议之一了,主要是用来进行档案的传输,尤其是大型档案的传输使用 FTP 更是方便!不过,值得注意的是,使用 FTP 来传输时,其 ...

  3. 一个挺好用的任务提示小软件 Rainlendar2

    Rainlendar2 可以把任务列出来放到桌面上.

  4. JavaScript eval() 为什么使用eval()是一个坏主意 什么时候可以使用eval()

    ---------------------------------------------------------------------------------------------------- ...

  5. python变量与数据类型

    变量 什么是变量 所谓变量,指的是在程序运行过程中需要用到的中间结果,变量定义后,会占用一块内存开辟的空间地址,通过内存空间确保同一时间的唯一性. >>> print(id.__do ...

  6. 第三天 函数 三元运算 lambda表达式 内置函数 文件操作

    面向过程: 直接一行一行写代码,遇到重复的内容复制黏贴. 不利于代码阅读 代码没有复用 面向对象 将代码块定义为函数,以后直接调用函数 增强了复用性 函数的定义方法 def 函数名(传递参数): 函数 ...

  7. LR11安装注意事项

    一.安装Microsoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息 解决方法: 进入LoadRunner11下载\loadrunne ...

  8. Namenode写Journalnode超时,导致Namenode挂掉的问题

    昨天还好好的集群,今天早上来看又挂掉了,还好是家里的测试服务器集群... 首先,查看了Namenode的状态,发现两台Namenode只剩下一台了,赶紧到挂了的那台去查看了logs下的日志: -- : ...

  9. Strusts2--课程笔记7

    国际化: 国际化是指,使程序在不做任何修改的情况下,就可以使用在不同的语言环境中.国际化在一般性项目中是不常用的.在编程中简称 i18n. 国际化是通过读取资源文件的形式实现的.资源文件的定义与注册, ...

  10. Dokan简介[转]

    1.      Dokan Library 简介 Dokan Library 帮助程序员在windows系统下轻松建立用户级文件系统,不需要写设备驱动,其与FUSE(Linux user mode f ...