ubuntu18.04 安装GPU版本tensorflow

文章目录

      • 一 前言
      • 二 安装nvidia显卡驱动
      • 三 安装anaconda3
      • 四 gcc和g++的降级
      • 五 安装cuda和cudnn (使用anaconda自动安装可以忽略)
      • 六 验证阶段


一 前言

  大二下学期的时候,小编接触了机器学习,当时在windows下从最初的cpu版本的 tensorflow 到 anaconda、cuda、cudnn的安装,也算是从简到繁,有所进步。现在笔记本安装ubuntu系统之后却一直没有配置机器学习的环境,近日闲来无事,就想要拣一拣 (好吧,其实和重新学习没什么区别 ),加油,事情总要一步一步来。
  GPU版本tensorflow的安装,其实主要分为以下几个部分:

  1. 安装nvidia显卡驱动
  2. anaconda安装,同时掌握conda常用命令
  3. gcc,g++的降级
  4. 安装适合版本的tensorflow-gpu
  5. 不对,小编,最重要的你没说!cuda和cudnn的安装,版本和显卡之间的搭配问题,真是好多坑。其实小编也是后来才知道的——直接在anaconda创建的虚拟环境中,下载相应版本的tensorflow-gpu之后会自动的安装cuda和cudnn,所以没有必要自己安装 (就算想下载,官网下载cuda和cudnn的网速也是醉了)

  接下来,咱们直接进入主题!!!

二 安装nvidia显卡驱动

   在网上,小编找到了很多安装显卡驱动的方法,但是为了保险起见,还是选择了最稳妥的图形界面安装,链接如下:
   Ubuntu系统安装英伟达显卡驱动教程(详细图文)
   安装显卡驱动之后,若要验证是否安装成功,打开终端输入:sudo lshw -c video
ubuntu18.04 安装GPU版本tensorflow_第1张图片
   上面是小编安装后的输出,在第11行输出 configuration: driver=nvidia 这表示nvidia显卡驱动安装完毕

三 安装anaconda3

   ananconda的安装很重要,在anaconda创建的虚拟环境下,直接下载 tensorflow-gpu 会自动安装cuda和cudnn。这就不需要我们手动下载并且纠结cuda和cudnn的版本问题 (最好还是手动安装,这样自己更加了解),关于安装anaconda的具体操作,小编就不赘述了,直接分享一篇好的链接。
  Ubuntu18.04 安装 Anaconda3
   anaconda安装好了之后,关于创建并激活环境等一些基本命令,大家可以上网搜索,小编这里多嘴一句,可以使用conda安装的第三方包,尽量使用conda,不要使用pip。

四 gcc和g++的降级

   ubuntu18.04自带的gcc和g++的版本的是 7.5 (小编电脑如此),这对于cuda9.0来说是不允许的,所以小编将等级下降到了6,对应命令如下:

sudo apt install gcc-6
sudo apt install g++-6

# 删除原来建立的软链接
sudo rm gcc 
# 创建新的软链接
sudo ln -s gcc-6 gcc
sudo rm g++
sudo ln -s g++-6 g++

# 通过以下命令查看现在的版本是否正确
gcc --version
g++ --version

五 安装cuda和cudnn (使用anaconda自动安装可以忽略)

   安装cuda和cudnn最大的困难就是和自身显卡的匹配问题以及下载网速令人崩溃,需要了解自己电脑显卡与之对应的cuda和cudnn。小编是回到了windows10查看的显卡信息。
显卡信息如下:

ubuntu18.04 安装GPU版本tensorflow_第2张图片
ubuntu18.04 安装GPU版本tensorflow_第3张图片
笔记本中存在集显和独显两块显卡,我们选取cuda时大部分查看的是独立显卡
ubuntu18.04 安装GPU版本tensorflow_第4张图片
  我们需要的数据是第一行:驱动程序版本: 430.86,记住这个数据,我们根据这个数字挑选对应的cuda版本。这里分享一篇链接:
  CUDA、显卡驱动和Tensorflow版本之间的对应关系 (小编选择tensorflow-gpu=1.11.0)
  从刚才这篇链接我们可以看到,大部分选择的cuda和cudnn之间的版本选择是:cuda9,cudnn7。
  小编使用anaconda自动安装的cuda和cudnn也是这个版本,这说明手动安装选择的版本是正确的。
  此外,cuda和cudnn之间没有一一对应的关系,关于这一点,我们需要知道cuda和cudnn到底指的是什么?

  1. 什么是CUDA?
    CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题

  2. 什么是CUDNN?
    NVIDIA cuDNN是用于深度神经网络的GPU加速库(只是一个包)。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如加州大学伯克利分校的流行caffe软件。简单的,插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。

所以在cuda的基础上,再安装cudann会使得gpu关于神经网络的计算速度更快。

六 验证阶段

  下载完毕后,激活环境,创建py文件,粘贴以下代码,运行成功即可。

"""
测试GPU的计算能力,测试tensorflow-GPU版是否安装正确
"""
 
import tensorflow as tf
import numpy as np
import time
 
value = np.random.randn(5000, 1000)
a = tf.constant(value)
 
b = a * a
 
c =0
tic = time.time()
with tf.Session() as sess:
        for i in range(1000):
            sess.run(b)

            c+=1
            if c%100 == 0:
 
                d = c / 10
                # print(d)
                print("计算进行%s%%" % d)
 
toc = time.time()
t_cost = toc - tic
 
print("测试所用时间%s"%t_cost)

# 小编代码输出如下:
计算进行10.0%
计算进行20.0%
计算进行30.0%
计算进行40.0%
计算进行50.0%
计算进行60.0%
计算进行70.0%
计算进行80.0%
计算进行90.0%
计算进行100.0%
测试所用时间7.980262279510498
# 计算进行10.0% 前面还有一乱七八糟的输出,就不展示了

  安装tensorflow-gpu的步骤,这只是小编的一家之言,虽然小编安装成功,但是也许还存在各种的坑,毕竟大家的电脑和小编的电脑配置不同。所以大家还是要广泛的搜索信息,对于同一个问题,多看几篇博客,特别是浏览量很大的博客,不要抱怨自己安装了整整一天还是没有成功,毕竟大家都是这样过来的,加油!!!

你可能感兴趣的:(python)