不使用 CUDA_VISIBLE_DEVICES 指定 Keras GPU

Specify Keras GPU without using CUDA_VISIBLE_DEVICES

我有一个带有两个 GPU 的系统,并且正在使用带有 Tensorflow 后端的 Keras。 Gpu:0 被分配给 PyCUDA,它正在执行一个独特的操作,该操作被前馈给 Keras,并随着每个批次的变化而变化。因此,我想 运行 gpu:1 上的 Keras 模型,同时将 gpu:0 分配给 PyCUDA。

有什么办法吗?通过查看之前的线程,我发现了几个折旧的解决方案。

所以我认为目前在 Keras 中没有有意义地实现此功能。找到了我推荐的解决方法,您只需使用 Python 的默认多处理库创建多个进程。

注意:目前对于此设置,您需要生成新进程,而不是分叉它,以避免与 PyCUDA 后端库之一发生奇怪的交互。