在keras中使用multi_gpu_model时发生valueError - python

我正在使用带有4个Tesla K80 GPU的Google Cloud VM。

我正在使用gpus = 4的multi_gpu_model运行keras模型(因为我有4 gpu)。但是,我收到以下错误

ValueError:要使用multi_gpu_model调用gpus=4,我们希望
以下设备可用:['/ cpu:0','/ gpu:0','/ gpu:1',
'/ gpu:2','/ gpu:3']。但是此机器只有:['/ cpu:0',
'/ xla_cpu:0','/ xla_gpu:0','/ gpu:0']。尝试减少gpus

我可以看到这里只有两个GPU,即'/xla_gpu:0', '/gpu:0'。因此,我尝试使用gpus = 2并再次出现以下错误

ValueError:要使用multi_gpu_model调用gpus=2,我们希望
以下设备可用:['/ cpu:0','/ gpu:0','/ gpu:1']。
但是,此计算机仅具有:['/ cpu:0','/ xla_cpu:0','/ xla_gpu:0',
'/ gpu:0']。尝试减少gpus

谁能帮助我解决错误。谢谢!

参考方案

看起来Keras只看到其中一个GPU。

确保所有4个GPU都可访问,您可以将device_lib与TensorFlow一起使用。

from tensorflow.python.client import device_lib

def get_available_gpus():
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos if x.device_type == 'GPU']

您可能需要在实例上手动安装或更新GPU驱动程序。咨询here。

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Python:图像处理可产生皱纹纸效果 - python

也许很难描述我的问题。我正在寻找Python中的算法,以在带有某些文本的白色图像上创建皱纹纸效果。我的第一个尝试是在带有文字的图像上添加一些真实的皱纹纸图像(具有透明度)。看起来不错,但副作用是文本没有真正起皱。所以我正在寻找更好的解决方案,有什么想法吗?谢谢 参考方案 除了使用透明性之外,假设您有两张相同尺寸的图像,一张在皱纹纸上明亮,一张在白色背景上有深…

Python:tensorflow-gpu导入错误 - python

这是从链接上的以下问题扩展来的一个问题:python : cannot import tensorflow-gpu我正在尝试在Windows 10计算机上实现tensorflow-gpu。我遵循了link告诉我的操作。我有..成功安装CUDA 8.0工具包成功安装cuDNN v5.1添加了环境变量:CUDA_Home和路径变量已安装Anaconda3(我以前…

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…

Python:无法识别Pip命令 - python

这是我拍摄的屏幕截图。当我尝试在命令提示符下使用pip时,出现以下错误消息:pip无法识别为内部或外部命令,可操作程序或批处理文件。我已经检查了这个线程:How do I install pip on Windows?我所能找到的就是我必须将"C:\PythonX\Scripts"添加到我的类路径中,其中X代表python版本。如您在我的…