2020年Tensorflow2-GPU 完整安装过程总结

2020年Tensorflow2-GPU 完整安装过程总结

Tensorflow2.1将是最后一个支持python2的版本。tensorflow2.1增加了对TPU的支持,同时tf.keras和tf.data这两个常用的API也得到了很多新的更新。Tensorflow2.1的cuda版本为10.1,cuDNN版本为7.6.

Windows 和 Linux 系统的 TensorFlow pip 版本默认支持 GPU。也就是说,如果使用 pip install tensorflow,则版本默认为是 gpu 版本(原始的 tensorflow-gpu 版本依然存在)。当然,不管有没有英伟达版本的 GPU,tensorflow 依然能够运行。

系统要求:

  • Python 3.5-3.7
  • pip 19.0 或更高版本(需要 manylinux2010 支持)
  • Ubuntu 16.04 或更高版本(64 位)
  • macOS 10.12.6 (Sierra) 或更高版本(64 位)(不支持 GPU)
  • Windows 7 或更高版本(64 位)(仅支持 Python 3)
  • Raspbian 9.0 或更高版本
  • GPU 支持需要使用支持 CUDA® 的卡(适用于 Ubuntu 和 Windows)

注意:必须使用最新版本的 pip,才能安装 TensorFlow 2。

硬件要求:

支持以下带有 GPU 的设备:

在这里插入图片描述

软件要求:

必须在系统中安装以下 NVIDIA® 软件:

  • NVIDIA® GPU 驱动程序:CUDA 10.1 需要 418.x 或更高版本。

  • CUDA® 工具包:TensorFlow 支持 CUDA 10.1(TensorFlow 2.1.0 及更高版本)

  • CUDA 工具包附带的 CUPTI

  • cuDNN SDK(7.6 及更高版本)

  • (可选)TensorRT 6.0,可缩短在某些模型上进行推断的延迟并提高吞吐量。

    # 使用下列终端命令,查看相关信息
    nvidia-smi
    

在这里插入图片描述

驱动版本不够,就自行进行更新。然后下载CUDA,cuDNN工具包。这里的CUPTI是包含再CUDA中的。不方便下载的,在这里戳我:[email protected]

CUDA安装:(10.1)

直接运行.exe文件,第一个目录为extraction,这个是指文件提取目录,不是安装目录。注意区分!!!

选择自定义高级,接下来的目录为正式的安装目录,记下来。需要配置环境变量!!!!!没有VS的,直接忽略即可。

cuDNN安装:(7.6)

准确的说,是cuDNN解压,下载压缩包文件之后,进行解压,放到你指定的目录下。需要配置环境变量。

上述两项完成之后,进行环境变量的配置!!!将 CUDA、CUPTI 和 cuDNN 安装目录添加到 %PATH% 环境变量中。

例如我的安装路径为:(看自己情况,不要苟同)

CUDA 工具包安装到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1,同时 cuDNN 安装到 C:\tools\cuda,请更新 %PATH% 以匹配路径:

    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;%PATH%
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\libx64;%PATH%
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include;%PATH%
    SET PATH=C:\tools\cuda\bin;%PATH%
    

操作方法为:找到path环境变量>编辑>新建>然后多次确认。可能会发现,再安装完CUDA之后,上述有些环境变量已经存在path中了,那就不管这些已经存在的,继续把没有出现的添加到环境变量就好了。

使用pip进行安装tensorflow2:

个人是新建了虚拟环境,名为tensorflow(你自己随便取)。过程如下:

# 1.查看当前有那些虚拟环境
conda info --envs
# 2.新建名为tensorflow的虚拟环境
conda create --name tensorflow python=3.7
# 3.激活虚拟环境tensorflow
conda activate tensorflow

在这里插入图片描述
在这里插入图片描述

激活新建的虚拟环境tensorflow之后,效果如上图:

# 4.再当前的虚拟环境中安装tensorflow,我是用清华源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow

在这里插入图片描述

这里的some-package是指你要安装的包名,这里我要安装tensorflow。注意,这里是包名,虽然这里我的包名和虚拟环境名字一样,注意区分!!!!

安装完之后,可以查看当前虚拟环境中有哪些包:

# 查看包列表
conda list

在这里插入图片描述
在这里插入图片描述

可以看到,已经安装好了。

# 5.将虚拟环境tensorflow添加到jupyter notebook 内核中
# 在当前的名为tensorflow虚拟环境中安装好ipykernel
conda install ipykernel
# 6.向jupyter notebook中添加内核,这里的tensorflow为虚拟环境名。
python -m ipykernel install --name tensorflow
# 7.打开jupyter notebook,你会惊奇的发现,这里变了

在这里插入图片描述
新建notebook,在new>tensorflow,这样一来,内核就是你新建的tensorflow

# 8.测试tensorflow安装成功与否
import tensorflow as tf
print(tf.test.is_gpu_available())
# 上述结果
WARNING:tensorflow:From <ipython-input-1-46ff889b56b7>:2: is_gpu_available (from tensorflow.python.framework.test_util) is deprecated and will be removed in a future version.
Instructions for updating:
Use `tf.config.list_physical_devices('GPU')` instead.
True

说明GPU是可用的,这里的警告是说,这个测试命令即将被抛弃,应该使用tf.config.list_physical_devices(‘GPU’),如下:

import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))
# 结果为
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

好了,测试通过。再来一个程序跑一下:

# 测试程序
import tensorflow as tf
import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' 
print('GPU', tf.test.is_gpu_available())

a = tf.constant(2.0)
b = tf.constant(4.0)
print(a + b)
# 结果为
GPU True
tf.Tensor(6.0, shape=(), dtype=float32)

好了,安装测试完成,开始使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章