指定Keras使用GPU而不使用CUDA_VISIBLE_DEVICES

我的系统中有两个GPU,并且我在使用TensorFlow后端的Keras。GPU:0被分配给了PyCUDA,它执行一个独特的操作,这个操作会传递给Keras,并且每个批次都会变化。因此,我想在GPU:1上运行Keras模型,同时让GPU:0继续分配给PyCUDA。

有什么方法可以做到这一点吗?我查看了之前的讨论,找到了几个已废弃的解决方案。


回答:

所以我认为这个功能目前在Keras中并没有得到有效实现。我找到了一个推荐的变通方法,你可以使用Python的默认多进程库创建多个进程来解决这个问题。

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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注