Ubuntu 14.04 安装 CUDA8.0 cudnn 5.1 tensorflow1.2.1GPU

前端之家收集整理的这篇文章主要介绍了Ubuntu 14.04 安装 CUDA8.0 cudnn 5.1 tensorflow1.2.1GPU前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

0. 电脑配置

  1. Win10 + Ubuntu 14.04 LTS 双系统。
  2. i5 7500 cpu
  3. nvidia GTX 1050 GPU 2G 显存

1. Ubuntu 的开发环境

  1. kernel: 4.4.0-87-generic
  2. g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
  3. Python 2.7.13 :: Anaconda 4.4.0 (64-bit) # 我装了Anaconda2,此Python是其自带的。
  4. gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

2. 安装nvidia显卡驱动

不用自己手动下载驱动的。
参考: http://www.jb51.cc/article/p-gxbsuqpe-bdp.html

  1. sudo add-apt-repository ppa:graphics-drivers/ppa
  2. sudo apt-get update
  3. sudo apt-get install nvidia-375 # 根据提示安装相应的版本
  4. sudo apt-get install mesa-common-dev
  5. sudo apt-get install freeglut3-dev

执行完上述后,重启(reboot)。
重启后输入:

  1. nvidia-smi

如果出现了你的GPU列表,则说明驱动安装成功了:

3. 安装CUDA 8.0

cuda是nvidia的编程语言平台,想使用GPU加速就必须要使用cuda。
当然,首先要确定你的Nvidia显卡支持CUDA8.0才可以。

3.1 下载cuda8.0的安装文件

从这里下载cuda8.0的安装文件
https://developer.nvidia.com/cuda-release-candidate-download
选择对应的开发环境, 下载 runfile(local)。
这里是nvidia给出的官方安装指南(遇到问题时可以查阅):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt

3.2 安装时的选项

下载完cuda8.0后,执行如下语句,运行runfile文件

  1. sudo sh cuda_8.0.27_linux.run

执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia375驱动时,一定要选择否,因为前面我们已经安装了更加新的nvidia375,所以这里不要选择安装。而且据说安装了此驱动会产生linux循环登陆的问题。
其余的都直接默认或者选择是即可。

3.3 配置环境变量

安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:

  1. sudo gedit ~/.bashrc

在打开的文本末尾加上

  1. export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
  2. export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后设置环境变量和动态链接库,在命令行输入:

  1. $ sudo gedit /etc/profile

在打开的文件末尾加入:

  1. export PATH=/usr/local/cuda/bin:$PATH

注意符号是英文的,否则下次重启ubuntu会有警告信息窗口。

保存之后,创建链接文件

  1. sudo gedit /etc/ld.so.conf.d/cuda.conf

在打开的文件添加如下语句:

  1. /usr/local/cuda/lib64

后执行

  1. sudo ldconfig

使链接立即生效。
这时有可能会有 libEGL.so.1 不是符号连接 之类的错误信息。
可以参考: http://www.jb51.cc/article/p-hqadxjpq-bpe.html

原因: 系统找的是一个符号连接,而不是一个文件。这应该是个bug….
解决方法
1.对这两个文件更名
2.重新建立符号连接:

  1. sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org sudo mv
  2. /usr/lib32/nvidia-375/libEGL.so.1
  3. /usr/lib32/nvidia-375/libEGL.so.1.org sudo ln -s
  4. /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
  5. sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39

3.4 测试cuda的Samples

测试之前,先把NVIDIA_CUDA-8.0_Samples文件夹权限改成可以读写增删的。

  1. cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
  2. make
  3. sudo ./deviceQuery

如果显示的是一些关于GPU的信息,则说明安装成功了。

4. 安装CUDNN 5.1

cudnn有5.1和6.0两个主要版本。tensorflow1.2.1 不支持6.0版本的cudnn, 所以要安装cudnn5.1版本。

4.1 下载CUDNN 5.1

官网:
https://developer.nvidia.com/cudnn
需要使用邮箱注册
下载cuDNN v5.1 Library for Linux.

4.2 安装cuDNN 5.1

下载完cudnn5.1之后进行解压,cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作:

  1. sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件

再将cd进入lib64目录下的动态文件进行复制和链接

  1. sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接
  2. cd /usr/local/cuda/lib64/
  3. sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
  4. sudo ln -s libcudnn.so.5.0.10 libcudnn.so.5 #生成软衔接
  5. sudo ln -s libcudnn.so.5 libcudnn.so #生成链接

如果以后要换cuDNN的版本,照着上述步骤重装一遍即可。

5. 安装tensorflow 1.2.1

5.1 pip安装

参考
https://www.tensorflow.org/install/install_linux 之 Installing with native pip。

  1. sudo apt-get install python-pip python-dev # for Python 2.7
  2. pip install tensorflow-gpu # Python 2.7; GPU support

官网也列出了其他安装方法, 但是上述方法是最简单方便的。但是要有网络才可以。
也可以安装cpu版本的。
离线安装1.3.1rc0版本,但是失败了。
使用Anaconda方法,但是每次都要激活才能使用,太麻烦了。而且,在PyCharm里没有办法运行调试。

5.2 验证安装成功

用终端运行python, import tensorflow 试验:

没有错误就是安装成功了。

6. 使用tensorflow训练softmax 数字识别

使用Mnist数据集。参考:http://www.jb51.cc/article/p-ksmtklsm-bnw.html

  1. import tensorflow.examples.tutorials.mnist.input_data as input_data
  2. mnist = input_data.read_data_sets("MNIST_data",one_hot=True)
  3. import tensorflow as tf
  4. x = tf.placeholder(tf.float32,[None,784])
  5. W = tf.Variable(tf.zeros([784,10]))
  6. b = tf.Variable(tf.zeros([10]))
  7. y = tf.nn.softmax(tf.matmul(x,W) + b)
  8. y_ = tf.placeholder("float",10])
  9. cross_entropy = -tf.reduce_sum(y_*tf.log(y))
  10. train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
  11. init = tf.global_variables_initializer()
  12.  
  13. sess = tf.Session()
  14. sess.run(init)
  15.  
  16. for i in range(1000):
  17. batch_xs,batch_ys = mnist.train.next_batch(100)
  18. sess.run( train_step,Feed_dict={x: batch_xs,y_:batch_ys})
  19.  
  20. correct_prediction = tf.equal(tf.argmax(y,1),tf.arg_max(y_,1))
  21. accuracy = tf.reduce_mean(tf.cast(correct_prediction,"float"))
  22.  
  23. print sess.run(accuracy,Feed_dict={x: mnist.test.images,y_: mnist.test.labels})

如果没有错误,就证明你安装成功了TensorFlow了。
开始你的深度学习之旅吧!

7. 后记:

无论在Linux还是Windows下做Python开发,一款好用的Python IDE是必不可少的。推荐大家使用PyCharm。Linux和Windows版本都有。界面美观好用,代码提示功能非常棒!
只是提醒大家注意,PyCharm的Python Console只能开一个,否则容易造成CUDA_OUT_OF_MEMORY的错误
另外,Python有各种各样的库,如numpy等。一一安装无比复杂,特别是没有网络的时候。
推荐大家Anaconda。python2.*使用Anaconda2,python3.*使用Anaconda3。几乎常用的库都集成在了一个*.sh里面了。

两者的下载,安装和配置请参考我的博文:http://www.jb51.cc/article/p-ruajqmmj-wr.html 使用Anaconda2和PyCharm, 双剑合璧,天下无敌!

猜你在找的Ubuntu相关文章