Ubuntu14.04+cuda 7.5+cudnn_v4+tensorflow安装

系统环境:Ubuntu14.04 64位、Windows7 64位 双系统 

CUDA 版本: 7.5 

总结一下,我的安装建议是

  1.  一定要下一份CUDA官方的安装文档,按照它的步骤一步步慢慢来,不可偷懒。CUDA 7.5 官方安装文档下载
  2.  在安装之前一定要详细检查自己的系统环境、软件是否符合CUDA的安装要求。不要存有侥幸心理,跳过检查步骤。 
  3. 每进行一项操作,都检查一下该项操作是否成功。如果没成功,适时重启电脑或者重启终端,

1、安装Ubuntu系统14.04

安装完毕后不要更新系统。

这条到底是否有用我并不确定。因为最初安装时候总是遇到循环登录的问题,网上的帖子普遍反映是由于更新系统导致,所以我后来的安装都是在未更新系统的情况下进行的。我只能说的是保证不更新系统并不能解决我的问题。

2、检查自己的电脑环境是否具备安装CUDA的条件

a) 检查自己的GPU是否是CUDA-capable

在终端中输入: $ lspci | grep -i nvidia ,会显示自己的NVIDIA GPU版本信息 
去CUDA的官网查看自己的GPU版本是否在CUDA的支持列表中

b) 检查自己的Linux版本是否支持 CUDA(Ubuntu 14.04没问题)

c) 检查自己的系统中是否装了gcc

在终端中输入: $gcc -version 可以查看自己的gcc版本信息

d) 检查是否安装了kernel header和 package development

在终端中输入: $uname -r 可以查看自己的kernel版本信息 
在终端中输入:$ sudo apt-get install linux-headers-$(uname -r) 
可以安装对应kernel版本的kernel header和package development

以上检查我的电脑系统都满足要求,如果没有满足要求的话,可以参考cuda的官方文档,里面有详细的针对每个问题的解决方案。

3、 选择安装方式

CUDA提供两种安装方式:package manager安装和runfile安装 
我本来选的是 package manager 安装,这种方法相对简单,但尝试了几次都失败。后来是转换到runfile安装才成功的。因此此处只介绍runfile安装方式。

下载cuda安装包:cuda官网下载,根据系统信息选择对应的版本,runfile安装的话最后一项要选择 runfile文件

CUDA 7.5 下载链接

4、runfile安装cuda

a) 禁用 nouveau

终端中运行:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。

Ubuntu的nouveau禁用方法: 
/etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入一下内容

blacklist nouveau
options nouveau modeset=0

打开终端,运行

$ sudo update-initramfs -u

设置完毕可以再次运行 $ lsmod | grep nouveau 检查是否禁用成功,如果运行后没有任何输出,则代表禁用成功。一般重启一下会发现禁用成功

b) 重启电脑,到达登录界面时,alt+ctrl+f1,进入text mode,登录账户

c) 输入 $ sudo service lightdm stop 关闭图形化界面

d) 切换到cuda安装文件的路径,运行$ sudo sh cuda_7.5.18_linux.run

按照提示一步步操作

遇到提示是否安装openGL ,选择no(如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU需要选择no,否则可以yes)
其他都选择yes或者默认 
安装成功后,会显示installed,否则会显示failed

e) 输入 $ sudo service lightdm start 重新启动图形化界面。

Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。 
如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。

f) 重启电脑。检查Device Node Verification

检查路径~/dev下 有无存在名为nvidia*(以nvidia开头)的多个文件(device files)
如果没有的话,可以参考官方文档里的指导步骤,进行添加。

g) 设置环境变量。

终端中输入 $ sudo gedit /etc/profile 
在打开的文件末尾,添加以下两行。

export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

h) 重启电脑,检查上述的环境变量是否设置成功。

终端中输入 : $ env 
在输出的环境变量中检查有无上述 g) 中设置的变量,如果有则代表设置成功。


到此为止,CUDA的安装算是告一段落了。为了保险起见,建议进行下述的检查工作,确保真正的安装成功。

5、 安装完毕后的检查工作。

a) 检查 NVIDIA Driver是否安装成功

终端输入 :$ cat /proc/driver/nvidia/version 会输出NVIDIA Driver的版本号

b) 检查 CUDA Toolkit是否安装成功

终端输入 : $ nvcc -V 会输出CUDA的版本信息

 二,安装tensorflow

尝试了两种安装方法:Pip install 和 Anaconda install:

PIP 是一个python包管理工具,主要是用于安装 PyPI 上的软件包。
利用PIP可以一键安装,自动下载.whl文件并解析然后自动下载下载相关依赖库。但是国内连接上pypi的网站基本没有速度。安装以失败告终。
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
之后换anaconda进行安装,anaconda集成来很多python计算库,并且集成来Spyder IDE 和 iphthon。
下载anaconda并安装,创建一个conda 环境命名为tensorflow。
 
conda create -n tensorflow python=2.7
 
激活tensorflow环境,在此环境下载GPU版本的tensorflow还是得利用Pip。此时又回到了pip安装的困境,一直没速度,报time out错误。
 
source activate tensorflow
 
(tensorflow)$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
 
解决方法:更换pypi源。国内推荐豆瓣源。
新建conf文件
 ~/.pip/pip.conf 
打开编辑
 
[global]
timeout = 6000
index-url = https://pypi.doubanio.com/simple
[install]
use-mirrors = true
mirrors = https://pypi.doubanio.com/simple
trusted-host = pypi.doubanio.com
然后就可以享受秒速下完的快感了,一路安装完成。
2,调试
在tensorflow环境下进入python,运行“Hello Tensorflow”代码段验证安装完成。
接下来可以跑一个mnist.
 
 python -m tensorflow.models.image.mnist.convolutional
但是马上报错,tensorflow IOError: CRC check failed 0x3c1ba7b1 != 0x53723de0L  CRC校验失败。
解决方法:进入convolutional.py所在目录,修改文件权限,
 
sudo chmod 777 convolutional.py
 
然后将WORK_DIRECTORY的data修改为 /home/cheers/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/models/image/mnist/data 即可。
3,利用Spyder
大的工程还得利用IDE,在终端输入spyder 进入IDE,发现在spyder下面不能import tensorflow。
解决方法:打开你的anaconda2文件夹,找到envs 打开tensorflow 将sitepack-ages里面的东西都拷到到 anaconda2/lib/python2.7/sitepack-ages。先做好备份。
因为envs环境下才有tensorflow(tensorflow相当于python的一个计算包,类似于numpy),但是没有spyder的启动项。anaconda2/lib/python2.7/sitepack-ages这里有spyder的启动项,但是没有tensorflow,所以需要将两者的sitepack-ages整合到一块。并且拷到一块儿后,就不需要source activate tensorflow进入安全环境,直接进入python就可以运行tensorflow。()
posted @ 2016-12-14 10:17  Mr.Easy  阅读(2892)  评论(0编辑  收藏  举报