参考

[1]Tensorflow官网学习文档 https://www.tensorflow.org/guide?hl=zh_cn
[2]安装 TensorFlow 2 https://www.tensorflow.org/install?hl=zh_cn
[3]GPU 支持 https://www.tensorflow.org/install/gpu?hl=zh_cn#hardware_requirements
[4]适用于 Windows 的 CUDA® 安装指南 https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/
[5]使用 pip 安装 TensorFlow https://www.tensorflow.org/install/pip?hl=zh_cn
[6]youtube讲解安装视频 https://www.youtube.com/watch?v=xQVOaTUm9lM

问题

在jupyter跑keras训练时,发现CPU符合拉满,而GPU并没有反应。所以重新思考了如何配置Tensor和keras。

过程

首先百度了问题,并浏览了许多博客,都说时tensorflow的安装、版本问题。

1、安装前GPU环境的配置

我打开了tensor的官网开始浏览官方学习文档[1],在里面找到了安装tensor的文档[2],在对GPU支持的描述[3]中,我们需要配置以下的软件环境。

Nvidia驱动

一般驱动在笔记本出厂时就安装好了,以下是两种更新下载方式:
方法一:在官网选择本机对应驱动版本下载,https://www.nvidia.com/download/index.aspx?lang=en-us
方法二:安装CUDA工具包后,我可以打开GEFORCE EXPERIENCE面板直接更新
驱动升级有两种类型选择,一种是Game Ready Driver,另一种是Studio Driver,这里我选的后者。

下载、安装CUDA工具包[4]

https://developer.nvidia.com/cuda-downloads 这里选择下载对应版本的安装包,而后根据提示安装即可。
image.png

下载、解压cuDNN

注册Nvidia账号 https://developer.nvidia.com/zh-cn
下载cuDNN https://developer.nvidia.com/rdp/cudnn-download
解压放在CUDA的文件夹下

添加路径

  1. SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin;%PATH%
  2. SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\extras\CUPTI\lib64;%PATH%
  3. SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\include;%PATH%
  4. # SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\cudnn\cuda\bin;%PATH%

2、Visual Studio安装

启用win10长路径

需要从gpedit.msc本地组策略编辑器开启长路径,但是win10更新后一般不能直接使用这个功能,所以先去开启。

Win10家庭版开启组策略

https://jingyan.baidu.com/article/cdddd41cb0d76f53ca00e144.html

启用长路径

这里英文教程https://superuser.com/questions/1119883/windows-10-enable-ntfs-long-paths-policy-option-missing
计算机配置-管理模板-系统-文件系统,里面有个启动win32长路径。
image.png

下载安装Visual Studio 2019

https://support.microsoft.com/zh-cn/topic/%E6%9C%80%E6%96%B0%E6%94%AF%E6%8C%81%E7%9A%84-visual-c-%E4%B8%8B%E8%BD%BD-2647da03-1eea-4433-9aff-95f26a218cc0
下载最新的Visual Studio 2019,然后纯净安装,不需要添加任何工作负载。

3、通过pip安装[5]

做完上面的Nvidia、windows环境准备后

通过conda创建新环境

  1. conda create -n tf-gpu python=3.7
  2. conda activate tf-gpu
  3. pip install tensorflow-gpu
  1. Installing collected packages: urllib3, pyasn1, idna, charset-normalizer, zipp, typing-extensions, six, rsa, requests, pyasn1-modules, oauthlib, cachetools, requests-oauthlib, importlib-metadata, google-auth, werkzeug, tensorboard-plugin-wit, tensorboard-data-server, protobuf, numpy, markdown, grpcio, google-auth-oauthlib, cached-property, absl-py, wrapt, termcolor, tensorflow-estimator, tensorboard, opt-einsum, keras-preprocessing, keras, h5py, google-pasta, gast, flatbuffers, clang, astunparse, tensorflow-gpu
  2. Successfully installed absl-py-0.13.0 astunparse-1.6.3 cached-property-1.5.2 cachetools-4.2.2 charset-normalizer-2.0.4 clang-5.0 flatbuffers-1.12 gast-0.4.0 google-auth-1.35.0 google-auth-oauthlib-0.4.6 google-pasta-0.2.0 grpcio-1.40.0 h5py-3.1.0 idna-3.2 importlib-metadata-4.8.1 keras-2.6.0 keras-preprocessing-1.1.2 markdown-3.3.4 numpy-1.19.5 oauthlib-3.1.1 opt-einsum-3.3.0 protobuf-3.17.3 pyasn1-0.4.8 pyasn1-modules-0.2.8 requests-2.26.0 requests-oauthlib-1.3.0 rsa-4.7.2 six-1.15.0 tensorboard-2.6.0 tensorboard-data-server-0.6.1 tensorboard-plugin-wit-1.8.0 tensorflow-estimator-2.6.0 tensorflow-gpu-2.6.0 termcolor-1.1.0 typing-extensions-3.7.4.3 urllib3-1.26.6 werkzeug-2.0.1 wrapt-1.12.1 zipp-3.5.0

4、验证

  1. import tnesorflow as tf
  2. tf.test.gpu_device_name()
  3. import torch
  4. torch.cuda.get_device_name(0)