我正在尝试在张量流中使用 keras 来训练 CNN 网络以进行某些图像分类。显然,在我的 CPU 上运行的训练速度非常慢,因此我需要使用 GPU 来进行训练。我在 StackOverflow 上发现了很多类似的问题,但没有一个能帮助我让 GPU 工作,因此我单独问这个问题。
我安装了 NVIDIA GeForce GTX 1060 3GB 和 466.47 NVIDIA 驱动程序。我已经从 NVIDIA 网站安装了 CUDA 工具包(使用 nvcc -V 命令输出我的版本 11.3 确认安装),并下载了 CUDNN 库。我解压了 CUDNN 文件并将文件复制到 C:\Program Files\NVIDIA GPU Compute Toolkit\CUDA 11.3,如 NVIDIA 网站上所述。最后,我检查了它是否在 PATH 上(C:\Program Files\NVIDIA GPUComputing Toolkit\CUDA 11.3 和 C:\Program Files\NVIDIA GPUComputing Toolkit\CUDA 11.3\libnvvp 都在环境变量“Path”中').
然后我使用 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 要求。如果您使用的是 Ubuntu 20.04,请参阅此处来安装要求。那么现在就是安装tensorflow的最佳时机了。当您打算使用 GPU 时,您已经安装了 tensorflow-gpu 库,而不是单独的 tensorflow。
我猜您已经使用
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
我建议使用 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
然后就可以直接使用了。
基于此问题
你没有说你在哪个平台。 如果是windows,则只有tensorflow 2.10及更高版本才可以工作。