使用 TensorFlow 2.0.0 时:错误:设置 XLA_GPU_JIT 设备编号 0 时 XLA 服务不支持设备 CUDA:0
Posted
技术标签:
【中文标题】使用 TensorFlow 2.0.0 时:错误:设置 XLA_GPU_JIT 设备编号 0 时 XLA 服务不支持设备 CUDA:0【英文标题】:While using TensorFlow 2.0.0: Error: device CUDA:0 not supported by XLA service while setting up XLA_GPU_JIT device number 0 【发布时间】:2020-03-02 19:07:00 【问题描述】:我正在尝试在 Tesla V100-SXM2 GPU 上运行 CuDNNLSTM 层,但由于安装了 TensorFlow-gpu 2.0.0(无法降级,因为是共享服务器)而出现错误。
ConfigProto 选项在 tf 2.0.0 中已弃用,因此以前的线程(如 this)没有帮助。
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "2" # Or 2, 3, etc. other than 0
tf.config.gpu.set_per_process_memory_growth(True)
tf.config.set_soft_device_placement(True)
如果我使用此代码行,则会出现另一个错误:
module notfoundError: no module named 'tensorflow.contrib'
【问题讨论】:
您安装的库(如 Cuda 等)的版本是什么?请也分享一下。 【参考方案1】:是第一个GPU的内存已经被另一个同事分配了。我只需使用以下代码和 ie 就可以选择另一个免费的 GPU。输入 = 'gpu:3'
def config_device(computing_device):
if 'gpu' in computing_device:
device_number = computing_device.rsplit(':', 1)[1]
os.environ["CUDA_VISIBLE_DEVICES"] = device_number
# with tf.device(computing_device):
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
# Currently, memory growth needs to be the same across GPUs
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
except RuntimeError as e:
# Memory growth must be set before GPUs have been initialized
print(e)
【讨论】:
以上是关于使用 TensorFlow 2.0.0 时:错误:设置 XLA_GPU_JIT 设备编号 0 时 XLA 服务不支持设备 CUDA:0的主要内容,如果未能解决你的问题,请参考以下文章
TensorRT - TensorFlow 反序列化失败,verifyHeader 中出现序列化错误
Tensorflow-gpu1.13.1 和 Tensorflow-gpu2.0.0共存之安装教程
Tensorflow 2.0 DLL load failed: 找不到指定的模块