【问题标题】:Problem accessing GPUs with tf-nightly 2.4使用 tf-nightly 2.4 访问 GPU 时出现问题
【发布时间】:2020-09-22 20:13:54
【问题描述】:

最近,我工作的Ubuntu18.04服务器已经从2.0.0升级到TensorFlow 2.4.0版本。它开始出现访问之前运行良好的 GPU 的问题。我注意到在我的 jupyter 笔记本上pip list 现在有两个版本可用。我也试过tf.test.gpu_device_name(),它什么也没返回。以前我使用以下代码为我的代码分配 GPU:

import os
os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID"   # see issue #152
os.environ["CUDA_VISIBLE_DEVICES"]="1"

并查看我正在使用的所有设备的列表:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

升级后,上面的代码只返回CPU名称,不返回GPU。

我的问题是:

  1. 此问题可能与服务器上安装的多个版本有关。在这种情况下,我可以选择特定版本来运行我的代码吗?现在,我看到tensorflow-gpu 2.3.0tf-nightly 2.4.0。我知道卸载一个可以解决问题,但我没有 sudo 访问权限。

  2. 由于版本变化,我需要使用新代码分配GPU吗?

  3. 是否需要升级整个代码以使其与 TF2.4 兼容?

  4. 我也认为,tf-nightly-gpu 可能会解决问题,但我需要 100% 确定。

我正在使用 python3。谢谢。

【问题讨论】:

    标签: python tensorflow gpu


    【解决方案1】:

    解决用多个tensorflow访问gpu。你应该使用 Anaconda。这也将为您避免 sudo 问题。尝试安装 cuda-tookits 并安装 tf-nightly。您可以查看here 以获取早期版本作为示例。因此,我认为您不必更改代码中的任何内容。另外,从 tf2.x 开始,gpu 已经自动搭配 cpu 版本,那么 tf-nightly-gpu 就不需要了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-23
      • 2020-12-21
      • 2021-06-11
      • 2019-06-10
      • 2013-12-05
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      相关资源
      最近更新 更多