编程语言
首页 > 编程语言> > 【tensorflow-2.x-gpu 】python3配置tensorflow-2.x gpu环境(2)

【tensorflow-2.x-gpu 】python3配置tensorflow-2.x gpu环境(2)

作者:互联网

【tensorflow-2.x-gpu 】python3配置tensorflow-2.x gpu环境<2>

1.背景

参考之前博客:
【tensorflow-2.x-gpu 】python3配置tensorflow-2.x gpu环境(1)
https://blog.csdn.net/jn10010537/article/details/108917295

利用Anaconda3安装tensorflow-2.x gpu。
最近我重装了系统后,按照该博客实现,发现并不能使用GPU,原因是我重装的电脑上并没有安装英伟达的cuda。

之前笔记本上借给同事用了几周,应该是他在我电脑上安装了cuda。所以我在安装了tensorflow-2.x gpu后可以直接使用gpu进行训练以及推理。

本博客演示刷机后的新windows10系统:
安装tensorflow-2.x gpu,并配置cuda,cuDnn,最后成功利用你的GPU进行加速。

说明:
CUDA(Compute Unified Device Architecture)是一种用于GPU通用计算的并行计算平台和编程模型。它以C语言为基础,并多C语言进行了扩展,能够在显卡芯片上执行程序。
CUDA提供了一个深度神经网络的GPU加速库cuDNN(CUDA Deep Neural Network),完成了对卷积、池化、归一化和激活函数层等标准操作的快速实现。

2.TF官网的gpu支持

查看tensorflow官网关于GPU支持:
https://tensorflow.google.cn/install/gpu

对GPU支持的描述总结如下:
对于 Ubuntu 和 Windows,需要安装支持 CUDA® 的显卡,才能实现 GPU 支持。
即,你需要查一下你的显卡是否被CUDA框架所支持,然后安装CUDA软件,配置cudnn(深度学习加速库),再安装tensorflow-gpu,才能使用GPU进行深度学习加速训练以及推理。
注意:这里涉及的显卡是N卡,即英伟达公司的GPU.

下面是TF官网关于cuda环境变量的配置:
在这里插入图片描述

3.查看显卡的计算能力

比如我的是GeForce RTX2060
对应的计算能力是7.5
该GPU是支持CUDA 框架的,支持深度学习加速!

参考英伟达的官网链接:
https://developer.nvidia.com/zh-cn/cuda-gpus
在这里插入图片描述

4.查看TF官网中测试过的构建配置

https://tensorflow.google.cn/install/source#gpu

Linux-GPU构建配置如下:
在这里插入图片描述

Windows-GPU构建配置如下:
在这里插入图片描述
我的操作系统是windows10
考虑到tensorflow-gpu的1.x与2.0这两个版本我都可能使用。下面框选的区域的tensorflow-gpu版本:
tensorflow-gpu1.13.0~2.0.0,我最会频繁的使用:
在这里插入图片描述
我选组的组合是:

序号软件包版本
1python3.6.8
2tensorflow-gpu1.14.0
3CUDA10.0
4cuDNN7.4

5.安装tensorflow-gpu

建议下载whl后,再使用清华镜像源进行pip安装。
如下,先下载tensorflow_gpu-1.14.0-cp36-cp36m-win_amd64.whl,再安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow_gpu-1.14.0-cp36-cp36m-win_amd64.whl

如果多次安装不上,那么大概率是你使用的网络很差造成的,请更换更大下载带宽的网络,或者选择在下班人少的时候安装。

注意:下载tensorflow的whl时,你可能遇到RC标志,下面解释一下:
RC->Release Candidate 预发行版
一般出了预发行版后,正式版就要出了。

安装前,查看python包:

C:\Users\Administrator>pip list
Package    Version
---------- -------
pip        21.0.1
setuptools 40.6.2

安装后,查看python包:

E:\E05_project\packages>pip list
Package              Version
-------------------- -------
absl-py              0.11.0
astor                0.8.1
cached-property      1.5.2
gast                 0.4.0
google-pasta         0.2.0
grpcio               1.35.0
h5py                 3.1.0
importlib-metadata   3.4.0
Keras-Applications   1.0.8
Keras-Preprocessing  1.1.2
Markdown             3.3.3
numpy                1.19.5
pip                  21.0.1
protobuf             3.14.0
setuptools           53.0.0
six                  1.15.0
tensorboard          1.14.0
tensorflow-estimator 1.14.0
tensorflow-gpu       1.14.0
termcolor            1.1.0
typing-extensions    3.7.4.3
Werkzeug             1.0.1
wheel                0.36.2
wrapt                1.12.1
zipp                 3.4.0

注意:
此时导入tensorflow会报错,报错如下:

C:\Users\Administrator>python
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
  File "D:\D02_pythonDevelop\D02_01_Python3\install_python3.6.8\lib\site-packages\tensorflow\python\platform\self_check.py", line 75, in preload_check
    ctypes.WinDLL(build_info.cudart_dll_name)
  File "D:\D02_pythonDevelop\D02_01_Python3\install_python3.6.8\lib\ctypes\__init__.py", line 348, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] 找不到指定的模块。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\D02_pythonDevelop\D02_01_Python3\install_python3.6.8\lib\site-packages\tensorflow\__init__.py", line 28, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "D:\D02_pythonDevelop\D02_01_Python3\install_python3.6.8\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "D:\D02_pythonDevelop\D02_01_Python3\install_python3.6.8\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 30, in <module>
    self_check.preload_check()
  File "D:\D02_pythonDevelop\D02_01_Python3\install_python3.6.8\lib\site-packages\tensorflow\python\platform\self_check.py", line 82, in preload_check
    % (build_info.cudart_dll_name, build_info.cuda_version_number))
ImportError: Could not find 'cudart64_100.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 10.0 from this URL: https://developer.nvidia.com/cuda-90-download-archive
>>> print(tf.__version__)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tf' is not defined
>>>

import导入上述tensorflow版本1.14.0报错(我的笔记本显卡是GeForce RTX2060,对应的计算能力是7.5,支持 CUDA 框架的!)
在cmd终端输入 nvcc --version查看cuda版本:
在这里插入图片描述
可以看到我电脑还没安装cuda!需要继续安装cuda

6.安装cuda

6.1 下载 CUDA工具包:
我下载的是cuda_10.0.130_411.31_win10.exe,
顺便提一下:笔记本上安装了Visual Studio Community 2019.

下载地址:
https://developer.nvidia.com/zh-cn/cuda-downloads
但是现在通过该链接下载的是11.1,我会在博文后上传cuda_10.0.130_411.31_win10.exe的资源。
在这里插入图片描述

6.2 安装NVIDIA CUDA 10.0
避免将cuda安装到系统盘(我的系统盘是C盘)!

点击 同意并继续(A)
在这里插入图片描述

安装的时候,选择自定义(高级)安装:在这里插入图片描述

选择安装组件:在这里插入图片描述

在系统盘外安装。如下
在这里插入图片描述

将CUDA Documentation、Samples、CUDA Development分别安装到系统盘之外。
如下自定义了安装目录:

CUDA DevelopmentD:\D03_GeneralDevelop\D03_01_cuda\install\cuda_development
CUDA DocumentationD:\D03_GeneralDevelop\D03_01_cuda\install\cuda_documentation
SamplesD:\D03_GeneralDevelop\D03_01_cuda\install\cuda_samples

在这里插入图片描述
这里需要检测msvs2017版本,本机是2019,这个问题暂无影响。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.3 配置cuda环境变量
将 自定义安装目录下的bin 文件夹,即
D:\D03_GeneralDevelop\D03_01_cuda\install\cuda_development\bin
加入系统环境变量。

再次在cmd终端输入 nvcc --version查看cuda版本:在这里插入图片描述

再次导入tensorflow,继续报错如下:
在这里插入图片描述
根据上诉提示,需要安装cuDNN 7(根据上述配置表,选择7.4)

7.下载并配置cuDNN

-7.1 下载 cudnn-10.0-windows10-x64-v7.4.2.24.zip将解压后的bin、include、lib文件夹拷贝至cuDNN文件夹下;

-7.2 将cuDNN文件夹剪切至安装目录下: D:\D03_GeneralDevelop\D03_01_cuda\install\cuda_development

-7.3 将:
D:\D03_GeneralDevelop\D03_01_cuda\install\cuda_development\cuDNN\bin
D:\D03_GeneralDevelop\D03_01_cuda\install\cuda_development\libnvvp
D:\D03_GeneralDevelop\D03_01_cuda\install\cuda_development\extras\CUPTI\libx64
添加至系统环境变量之中。
在这里插入图片描述
再次导入,ok
在这里插入图片描述

8.验证tensorflow的gpu使用

import tensorflow as tf
hello = tf.constant("hello, world!")
sess = tf.Session()
sess.run(hello)

运行如下:
在这里插入图片描述

9.资源

标签:D03,cuda,install,gpu,tensorflow,安装,python3
来源: https://blog.csdn.net/jn10010537/article/details/113791239