我有一个带有三个 gpus 的 linux 系统。我正在使用带有 theano 的 keras 来运行 cnn,过去当我使用 Theano 8.+ 时,我能够使用以下命令将特定的 gpu 分配给 jupyter notebook 窗口:
导入 theano.sandbox.cuda theano.sandbox.cuda.use("gpu2")
这让我可以使用不同的超参数运行同一个 cnn 模型的三个版本。
我最近更新了 keras(到 2.0)和 theano(到 0.9)。这需要我设置 gpuarray 后端。
只运行一个带有模型的 jupyter notebook 就可以了。gpu1 由 theano 选择。但是,当我启动具有相同型号的第二个笔记本时,theano 尝试使用分配给第一个笔记本的 gpu,导致内存使用问题并最终导致 cnn 模型在 cpu 上运行,而不是使用可用的两个剩余 gpu 之一.
有没有一种方法可以选择我希望在 theano 0.9 中的每个 jupyter 笔记本上运行的 gpu,就像我在 theano 8 中一样。