我从Code Project | 一份完整的自驾车指南中运行drive.py程序。
但是当我启动程序时,出现了错误:
Not creating XLA devices, tf_xla_enable_xla_devices not set
有谁知道我该如何解决这个问题?我应该下载或重新安装什么?
我使用的环境:
Python 3.8.7
CUDA 11.0
tensorflow 2.4.1
当访问http://0.0.0.0:4567/时,当然我什么也看不到。
我从Code Project | 一份完整的自驾车指南中运行drive.py程序。
但是当我启动程序时,出现了错误:
Not creating XLA devices, tf_xla_enable_xla_devices not set
有谁知道我该如何解决这个问题?我应该下载或重新安装什么?
我使用的环境:
Python 3.8.7
CUDA 11.0
tensorflow 2.4.1
当访问http://0.0.0.0:4567/时,当然我什么也看不到。
请在您的脚本最开始的位置添加以下内容:
os.environ['TF_XLA_FLAGS'] = '--tf_xla_enable_xla_devices'
或者,可以在Windows系统设置中设置环境变量:TF_XLA_FLAGS = --tf_xla_enable_xla_devices
。
根据这个讨论,这有助于比简单地忽略信息更有效地使用GPU。
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,但此标志将在随后的版本中被删除。
我不确定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来运行Rstudio 2021.09.0,并搭配NVIDIA GPU和驱动程序版本470.57.02、CUDA-11.4以及CUDNN8_8.2.4.15(与CUDA 11.4相匹配)。以下两个R Setenv()命令使得我的Rstudio脚本输出中的“XLA错误”消失了: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
中正确命名。.profile
)在重新启动后(或终端中使用 source
命令)也需要指示正确的 cuda 目录。