Tensorflow似乎没有看到我的GPU
tensorflow
23
0

我在cuda 7.5和8.0上都尝试过tensorflow,但没有cudnn(我的GPU很旧,cudnn不支持它)。

当我执行device_lib.list_local_devices() ,输出中没有gpu。 Theano看到了我的gpu,并且可以正常使用,/ usr / share / cuda / samples中的示例也可以正常工作。

我通过pip install安装了tensorflow。我的GPU是否太老了,以至于tf无法支持它? gtx 460

参考资料:
Stack Overflow
收藏
评论
共 5 个回答
高赞 时间 活跃

当我查找您的GPU时,我看到它仅支持CUDA Compute Capability 2.1。 (可以通过https://developer.nvidia.com/cuda-gpus进行检查。)不幸的是,TensorFlow需要具有最低CUDA计算能力3.0的GPU。 https://www.tensorflow.org/get_started/os_setup#optional_install_cuda_gpus_on_linux

您可能会看到来自TensorFlow的一些日志正在检查您的GPU,但最终该库将避免使用不受支持的GPU。

收藏
评论

我在jupyter笔记本中遇到了相同的问题。这可能是一个简单的修复。

$ pip uninstall tensorflow
$ pip install tensorflow-gpu

您可以检查它是否适用于:

tf.test.gpu_device_name()
收藏
评论

摘要:

  1. 检查tensorflow是否看到您的GPU(可选)
  2. 检查您的视频卡是否可以使用tensorflow(可选)
  3. 查找与您的tf版本兼容的CUDA Toolkit和cuDNN SDK版本
  4. 安装CUDA工具包
  5. 安装cuDNN SDK
  6. pip卸载tensorflow; pip安装tensorflow-gpu
  7. 检查tensorflow是否看到您的GPU

*来源-https://www.tensorflow.org/install/gpu

详细说明:

  1. 检查tensorflow是否看到您的GPU(可选)

     from tensorflow.python.client import device_lib def get_available_devices(): local_device_protos = device_lib.list_local_devices() return [x.name for x in local_device_protos] print(get_available_devices()) # my output was => ['/device:CPU:0'] # good output must be => ['/device:CPU:0', '/device:GPU:0'] 
  2. 检查您的卡是否可以使用tensorflow(可选)

  3. 查找所需的CUDA工具包和cuDNN SDK版本

    a)查找您的tf版本

     import sys print (sys.version) # 3.6.4 |Anaconda custom (64-bit)| (default, Jan 16 2018, 10:22:32) [MSC v.1900 64 bit (AMD64)] import tensorflow as tf print(tf.__version__) # my output was => 1.13.1 

    b)为您的tf版本找到正确的CUDA Toolkit和cuDNN SDK版本

     https://www.tensorflow.org/install/source#linux * it is written for linux, but worked in my case see, that tensorflow_gpu-1.13.1 needs: CUDA Toolkit v10.0, cuDNN SDK v7.4 
  4. 安装CUDA工具包

    a)安装CUDA Toolkit 10.0

     https://developer.nvidia.com/cuda-toolkit-archive select: CUDA Toolkit 10.0 and download base installer (2 GB) installation settings: select only CUDA (my installation path was: D:\Programs\x64\Nvidia\Cuda_v_10_0\Development) 

    b)添加环境变量:

     system variables / path must have: D:\Programs\x64\Nvidia\Cuda_v_10_0\Development\bin D:\Programs\x64\Nvidia\Cuda_v_10_0\Development\libnvvp D:\Programs\x64\Nvidia\Cuda_v_10_0\Development\extras\CUPTI\libx64 D:\Programs\x64\Nvidia\Cuda_v_10_0\Development\include 
  5. 安装cuDNN SDK

    a)下载cuDNN SDK v7.4

     https://developer.nvidia.com/rdp/cudnn-archive (needs registration, but it is simple) select "Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0" 

    b)将“ bin”文件夹的路径添加到“环境变量/系统变量/路径”中:

     D:\Programs\x64\Nvidia\cudnn_for_cuda_10_0\bin 
  6. pip卸载tensorflow pip安装tensorflow-gpu

  7. 检查tensorflow是否看到您的GPU

     - restart your PC - print(get_available_devices()) - # now this code should return => ['/device:CPU:0', '/device:GPU:0'] 
收藏
评论

以下对我有用,hp笔记本电脑。我有兼容Cuda Compute(版本)3.0的Nvidia卡。 Windows 7的。

pip3.6.exe uninstall tensorflow-gpu
pip3.6.exe uninstall tensorflow-gpu
pip3.6.exe install tensorflow-gpu
收藏
评论

如果您使用的是conda,则可能已安装了tensorflow的cpu版本。检查环境的软件包列表( conda list ),以查看是否是这种情况。如果是这样,请使用conda remove tensorflow除去软件包,然后安装keras-gpu( conda install -c anaconda keras-gpu 。这将安装在GPU中运行机器学习代码所需的一切。

PS:您应该首先检查是否已使用nvidia-smi正确安装了驱动程序。默认情况下,它不在您的PATH中,因此您可能还需要将文件夹添加到您的路径中。该.exe文件可以在C:\Program Files\NVIDIA Corporation\NVSMI

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题