如何配置我的 jupyter notebook 以便它在使用 keras 时使用可用的 GPU?

Posted

技术标签:

【中文标题】如何配置我的 jupyter notebook 以便它在使用 keras 时使用可用的 GPU?【英文标题】:How do I configure my jupyter notebook so that it uses the available GPU while working with keras? 【发布时间】:2021-05-17 02:10:40 【问题描述】:

我搜索了解决方案并使用 pip 安装了 tensorflow-gpu。

tf.config.list_physical_devices('GPU')

此代码返回一个空列表。 []

You can see I have 2 GPUs but none of them are being used when I am doing image processing(CNN) with keras.

我是新手,所以不明白到底哪里出了问题。请帮我配置,以便我可以使用我的 GPU 进行处理。我正在使用 Windows 10 64 位 Python-3.8.7。 按照建议,我尝试在 python 终端上导入 tensorflow,并得到以下错误:

import tensorflow as tf

2021-02-13 22:52:17.253841:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“cudart64_110.dll”; dlerror: 未找到 cudart64_110.dll 2021-02-13 22:52:17.266384: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] 如果您的机器上没有设置 GPU,请忽略上面的 cudart dlerror。

当我尝试列出 GPU 时,紧随其后的是: tf.config.list_physical_devices('GPU')

2021-02-13 22:57:17.390319:我 tensorflow/compiler/jit/xla_cpu_device.cc:41] 未创建 XLA 设备,未设置 tf_xla_enable_xla_devices 2021-02-13 22:57:17.749790: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] 成功打开动态库 nvcuda.dll 2021-02-13 22:57:18.937838:我 tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] 找到具有以下属性的设备 0: pciBusID:0000:01:00.0 名称:GeForce MX150 计算能力:6.1 coreClock:1.5315GHz coreCount:3 deviceMemorySize:2.00GiB deviceMemoryBandwidth:44.76GiB/s 2021-02-13 22:57:18.966071:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“cudart64_110.dll”; dlerror: 未找到 cudart64_110.dll 2021-02-13 22:57:18.974209:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“cublas64_11.dll”; dlerror: cublas64_11.dll 未找到 2021-02-13 22:57:18.981154:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“cublasLt64_11.dll”; dlerror: cublasLt64_11.dll 未找到 2021-02-13 22:57:18.988826:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“cufft64_10.dll”; dlerror:找不到 cufft64_10.dll 2021-02-13 22:57:18.996411:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“curand64_10.dll”; dlerror:找不到curand64_10.dll 2021-02-13 22:57:19.002563:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“cusolver64_10.dll”; dlerror: 未找到 cusolver64_10.dll 2021-02-13 22:57:19.009636:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“cusparse64_11.dll”; dlerror: cusparse64_11.dll 未找到 2021-02-13 22:57:19.018025:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“cudnn64_8.dll”; dlerror: 未找到 cudnn64_8.dll 2021-02-13 22:57:19.025064:W tensorflow/core/common_runtime/gpu/gpu_device.cc:1757] 无法打开某些 GPU 库。如果您想使用 GPU,请确保正确安装了上述缺少的库。按照https://www.tensorflow.org/install/gpu 的指南了解如何为您的平台下载和设置所需的库。 跳过注册 GPU 设备... []

【问题讨论】:

您安装了 CUDA Toolkit 和 cuDNN 吗?互联网上有无数的教程...... 会试试的,谢谢! 在 python shell(不是 jupyter)中运行你的代码,你会看到一个日志,告诉你为什么没有检测到 GPU。您可以将其包含在您的问题中(作为文本,而不是图像)。 如果您在终端上导入tf,您应该会看到I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll,否则您的设置有问题。 我在 python 终端上导入 tf 时收到一条错误消息,问题中提到了。 【参考方案1】:

Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found 这个错误信息说 Tensorflow-gpu 需要 CUDA 11

Could not load dynamic library 'cudnn64_8.dll'; dlerror: cudnn64_8.dll not found 这个错误信息说运行 Tensorflow-gpu 版本需要 cuDNN 8。

安装正确版本的CUDAcuDNN 并按照here 中提到的说明在Windows 操作系统上设置GPU 支持。

【讨论】:

我现在得到这个列表:[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')] 谢谢!! :)

以上是关于如何配置我的 jupyter notebook 以便它在使用 keras 时使用可用的 GPU?的主要内容,如果未能解决你的问题,请参考以下文章

jupyter notebook怎么配置

如何使 Jupyter Notebook 中的内联图更大? [复制]

使 Jupyter notebook 以 html 格式执行

从 jupyter notebook 访问外部硬盘中的数据

Jupyter Notebook——如何显示目录的导航栏(安装 Jupyter Notebook extension)

如何在Win10中通过powershell修改Jupyter notebook的默认目录