【问题标题】:tensorflow: Not creating XLA devices, tf_xla_enable_xla_devices not settensorflow:未创建 XLA 设备,未设置 tf_xla_enable_xla_devices
【发布时间】:2021-01-26 18:43:01
【问题描述】:

我从Code Project | A Complete guide to self driving car运行drive.py程序

但是当我启动程序时出现错误:

未创建 XLA 设备,未设置 tf_xla_enable_xla_devices

有谁知道我该如何解决这个问题?我应该下载或重新安装什么?

我用:

Python 3.8.7

CUDA 11.0

张量流 2.4.1 在http://0.0.0.0:4567/ 上我当然什么也没看到

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    请在您的脚本开头添加以下内容:

    os.environ['TF_XLA_FLAGS'] = '--tf_xla_enable_xla_devices'
    

    【讨论】:

    • export TF_XLA_FLAGS=--tf_xla_enable_xla_devices 如果你想在命令行中设置它。
    • 我需要 GPU 吗?还是也适用于有 CPU 的机器?
    • 它也适用于只有 CPU 的 Linux/Mac 机器(例如 Heroku dynos)
    【解决方案2】:

    或者,可以在 Windows 系统设置中设置环境变量:TF_XLA_FLAGS = --tf_xla_enable_xla_devices

    根据this discussion,这有助于更有效地使用 GPU,而不是简单地忽略信息。

    【讨论】:

      【解决方案3】:

      通常此消息不应干扰。

      请尝试

      import tensorflow as tf
      print("GPUs: ", len(tf.config.experimental.list_physical_devices('GPU')))
      

      检查它们是否被检测到。

      如果需要,请查看 github 上的发行说明:

      XLA:CPU 和 XLA:GPU 设备默认不再注册。如果您确实需要它们,请使用 TF_XLA_FLAGS=--tf_xla_enable_xla_devices,但该标志最终将在后续版本中删除。

      【讨论】:

      • 当我运行这个命令时,我有:"GPUs: 1"
      【解决方案4】:

      我不确定 Tensorflow 的 XLA:CPU 和 XLA:GPU 是否会“在后续版本中删除”。 XLA:CPU 被描述为在 GPU 执行用于建模 Tensorflow 的代码时提供对 CPU 的访问。 XLA 功能在设置环境变量后,允许 CPU 在特定的关键性能阶段“提供帮助”,从而加速人们通常认为需要 GPU 的过程。 https://www.tensorflow.org/xla 对此进行了解释。

      我还没有找到关于如何在 R 或者更具体地说是 Rstudio 中设置所需环境变量的明确说明。在另一篇博客中,个人建议 (a) 添加一个环境路径变量以打开一般的 XLA,然后再添加一个专门供 Tensorflow 使用的变量。

      设置正确的环境变量可能因操作系统、脚本程序(Python vs R vs Windows Ubuntu)以及安装的 CUDA 和 CUDNN 版本而异。

      对我来说最重要的是查看未设置的特定环境变量的输出,从而导致 XLA 无法激活。而且,XLA 可能需要在整个 R 会话或脚本中激活。

      在我的例子中,使用 Ubuntu 20.04 运行带有 NVIDIA GPU 和驱动程序版本 470.57.02、CUDA-11.4 和 CUDNN8_8.2.4.15(与 CUDA 11.4 一起使用)的 Rstudio 2021.09.0,以下两个 R Setenv( ) 命令导致我自己的“XLA 错误”在我的 Rstudio 脚本的输出中消失:

      Sys.setenv("XLA_FLAGS=--xla_gpu_cuda_data_dir"="/usr/local/cuda-11.4")
      
      Sys.setenv("TF_XLA_FLAGS"="--tf_xla_enable_xla_devices")
      

      请注意,两个环境变量都已设置,xla_gpu_cuda_data 的目录在 /usr/local/cuda-11.X 中正确命名。

      此外,重新启动时(或终端中的source 命令)在用户配置文件脚本(我的是.profile)中设置的环境PATH 和LD_LIBRARY_PATH 变量也需要指示正确的cuda 目录。

      【讨论】:

        猜你喜欢
        • 2021-10-28
        • 2019-12-20
        • 1970-01-01
        • 2021-09-11
        • 1970-01-01
        • 2021-11-09
        • 2020-03-02
        • 2021-01-27
        • 1970-01-01
        相关资源
        最近更新 更多