【问题标题】:How to get tensorflow keras to use my GPU?如何让 tensorflow keras 使用我的 GPU?
【发布时间】:2021-05-26 05:01:49
【问题描述】:

我正在尝试在 tensorflow 中使用 keras 来训练 CNN 网络以进行某些图像分类。显然,在我的 CPU 上运行的训练非常慢,所以我需要使用我的 GPU 来进行训练。我在 StackOverflow 上发现了很多类似的问题,但都没有帮助我让 GPU 工作,因此我单独提出这个问题。

我已安装 NVIDIA GeForce GTX 1060 3GB 和 466.47 NVIDIA 驱动程序。我已经从 NVIDIA 网站安装了 CUDA 工具包(通过输出我的版本 11.3 的 nvcc -V 命令确认安装),并下载了 CUDNN 库。我解压缩了 CUDNN 文件并将文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3,如 NVIDIA 网站上所述。最后,我检查了它是否在 PATH 上(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin 和 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\libnvvp 都是在环境变量“路径”中)。

然后我使用 conda 设置了一个环境,下载了一些我需要的包,比如 scikit-learn,以及 tensorflow-gpu=2.3 在将我的环境引导到 Jupyter Notebook 之后,我运行这个代码来检查它是否拿起 GPU:

import tensorflow as tf
print(tf.__version__)
print(tf.config.list_physical_devices())

得到这个:

2.3.0 [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU')]

我已经尝试了我在这个主题上接触到的所有东西,但在让它发挥作用方面没有取得任何成功。任何帮助将不胜感激。

【问题讨论】:

  • 让 CUDA 工作,然后安装 tensorflow-gpu(不是仅 tensorflow)
  • 是的,我做到了

标签: python tensorflow tf.keras


【解决方案1】:

首先,您必须安装所有 CUDA 要求。如果您有 Ubuntu 20.04,here 是您可以安装要求的方式。那么是时候安装 tensorflow 了。作为你打算使用你的 GPU,你已经安装了 tensorflow-gpu 库,而不是单独的 tensorflow。

【讨论】:

  • 是的,正如我在问题中所说,我安装了所有 CUDA 要求,然后安装了 tensorflow gpu。
【解决方案2】:

我猜你已经使用pip install tensorflow 正确安装了 TensorFlow。 TensorFlow 目前支持具有 CUDA 架构 3.5、5.0、6.0、7.0、7.5、8.0 和高于 8.0 的 NVIDIA GPU 卡。如果您有支持的卡,但 TensorFlow 无法检测到您的 GPU,则必须安装以下软件:

您可以选择安装TensorRT 6.0 以改善某些模型的推理延迟和吞吐量。 更多信息请参考 TensorFlow 文档:https://www.tensorflow.org/install/gpu

【讨论】:

  • 对不起,你能解释一下兼容性吗?为什么我需要 CUDA 11.3 的 cuDNN SDK 8.0.4,我可以不使用最新版本的 cuDNN 8.2.0,因为 [developer.nvidia.com/rdp/cudnn-download](NVIDIA) 声明 8.2.0 适用于 11.x?
  • 抱歉回复晚了,cuDNN 8.2.0 适用于 11.x,因此您也可以使用 cuDNN 8.2.0
【解决方案3】:

我建议使用 conda 安装 CUDA Toolkit 包以及 CUDNN,这样可以避免浪费时间下载正确的包(或更改系统文件夹)

conda install -c conda-forge cudatoolkit=11.0 cudnn=8.1

然后你可以通过输入安装keras和tensorflow-gpu

conda install keras==2.7
pip install tensorflow-gpu==2.7

它会直接工作。

基于this issue

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 2020-02-28
    • 2020-08-11
    • 2017-08-21
    • 2018-08-16
    • 2020-11-13
    • 1970-01-01
    • 2018-05-07
    • 2018-01-02
    相关资源
    最近更新 更多