【问题标题】:cannot access GPU with tensorflow-gpu 1.8.0 conda package无法使用 tensorflow-gpu 1.8.0 conda 包访问 GPU
【发布时间】:2018-12-20 04:01:05
【问题描述】:

我在 Ubuntu 16.04.4 的 conda 环境中安装了 tensorflow 和 tensorflow-gpu 1.8.0 conda(不是 pip)包:

conda list t.*flow
# packages in environment at /home/lebedov/miniconda3/envs/TF: 
#
# Name                    Version                   Build  Channel
_tflow_180_select         1.0                         gpu  
tensorflow                1.8.0                    py36_1    conda-forge
tensorflow-gpu            1.8.0                h7b35bdc_0 

我的系统上安装了 CUDA 9.0,它有一个 Quadro M2200 GPU。我可以看到在 nvidia-smi 的输出中列出的 GPU,也可以使用其他深度学习框架(例如 PyTorch 0.4.0)访问 GPU,但由于某种原因,TensorFlow 似乎没有看到它:

Python 3.6.5 | packaged by conda-forge | (default, Apr  6 2018, 13:39:56) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import tensorflow as tf
   ...: sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
2018-07-11 23:21:11.827064: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Device mapping: no known devices.
2018-07-11 23:21:11.827942: I tensorflow/core/common_runtime/direct_session.cc:284] Device mapping:

但是,如果我降级到 tensorflow-gpu 1.7.0,我可以看到 GPU。关于为什么 TensorFlow 1.8.0 没有检测到 GPU 有什么想法吗?

【问题讨论】:

  • 你已经安装了 CPU 和 GPU tensorflow?怎么可能?
  • 这显然是 tensorflow 1.8.0 conda 包的结构;见github.com/AnacondaRecipes/tensorflow_recipes
  • 为了限定我之前的评论,anaconda 和 conda-forge TensorFlow 包的结构显然不同,可能不一定能相处。请参阅我对这个问题的回答。

标签: tensorflow gpu


【解决方案1】:

来自 Anaconda 的 tensorflow 1.8.0 包似乎可以正确支持 GPU,但来自 conda-forge 的包不支持;见this issue

【讨论】:

    【解决方案2】:

    我也有类似的情况,其中 tensorflow-gpu 不会默认运行。

    至于我,我只是通过卸载 tensorflow 并只保留 tensorflow-gpu 来解决它。这样一来,它就会始终使用 GPU 运行,因为没有其他选择。

    就兼容性而言,我会推荐新的 conda 安装 tensorflow-gpu 的方式,它会自动为你安装相关的 cudnn 文件。代码如下:

    conda create -n [EnvironmentName] python=3.6

    conda activate [EnvironmentName]

    conda install -c conda-forge tensorflow-gpu==1.14

    它将评估您需要的版本(CUDA、CUDNN 等),然后将其下载并直接安装到您的环境中。然后在这个环境中运行你的 python 文件。

    之后请使用“conda list”检查以确保为您安装了 tensorflow-gpu。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 2020-01-14
      • 2021-11-11
      • 2018-03-12
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多