【问题标题】:GPU is not used for calculations despite tensorflow-gpu installed尽管安装了 tensorflow-gpu,但 GPU 不用于计算
【发布时间】:2017-10-05 00:06:08
【问题描述】:

我的电脑安装了以下软件:Anaconda (3)、TensorFlow (GPU) 和 Keras。 有两个 Anaconda 虚拟环境 - 一个用于 Python 2.7 的 TensorFlow,一个用于 3.5,两个 GPU 版本,installed according to the TF instructions。 (我之前在单独的环境中安装了 TensorFlow 的 CPU 版本,但我已将其删除。)

当我运行以下命令时:

source activate tensorflow-gpu-3.5
python code.py

并检查 nvidia-smi 它仅显示 Python 的 3MiB GPU 内存使用情况,因此看起来 GPU 不用于计算。 (code.py 是使用 Keras 实现的简单深度 Q 学习算法)

有什么想法可能会出错吗?

【问题讨论】:

    标签: tensorflow machine-learning keras anaconda gpu


    【解决方案1】:

    调试这些问题的一个好方法是检查哪些操作已分配给哪些设备。

    您可以通过将配置参数传递给会话来检查这一点:

    session = tf.Session(config=tf.ConfigProto(log_device_placement=True))
    

    当您运行您的应用程序时,您将看到一些指示正在使用哪些设备的输出。

    您可以在此处找到更多信息: https://www.tensorflow.org/tutorials/using_gpu

    【讨论】:

      【解决方案2】:

      Windows 上的 TensorFlow

      我花了好几个小时来修复 Windows 上的 TensorFlow 安装问题,所以这里是总结:

      检查 TensorFlow-gpu 是否正常工作(使用此代码):

      with tf.device('/gpu:0'):
          a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
          b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
          c = tf.matmul(a, b)
      with tf.Session() as sess:
          print(sess.run(c))
      

      检查可用 CPU 或 GPU 的列表(使用此代码):

      from tensorflow.python.client import device_lib
      print(device_lib.list_local_devices())
      
      if tf.test.gpu_device_name():
          print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
      else:
          print("Please install GPU version of TF")
      

      使用 CUDA 和 cuDNN 在 Windows 上安装 Tensorflow GPU

      指南概述

      • 在您的计算机上安装 Nvidia 的卡以及驱动程序
      • 下载并安装 CUDA
      • 下载并“安装”cuDNN
      • 卸载 Tensorflow,安装 Tensorflow GPU
      • 更新系统上的 %PATH%
      • 验证安装

      指南完整细节

      确保

      • 您已经卸载了 tensorflow,并且只安装了 tensorflow-gpu 以完成任务。
      • 根据您的项目设置从 pip 和 conda 环境中卸载 tensorflow,然后只安装 tensorflow-gpu
      • 设置 PATH 变量后,请确保注销或重新启动系统。

      希望对你有帮助:))

      【讨论】:

        【解决方案3】:

        我的 GPU 没有运行的原因是 CuDNN 的安装损坏,更准确地说,库和源来自不同版本的 CuDNN。

        已用the following piece of advice. 修复

        【讨论】:

          【解决方案4】:

          这是一个棘手的问题,几乎就像计算机将使用任何可能的借口恢复到 CPU 一样。为确保当前正在使用 tensoflow、keras 和 pytorch,请参阅https://stackoverflow.com/a/53244520/420400

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-02-10
            • 2020-07-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多