首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CPU和GPU上并行运行Python Tensorflow

在CPU和GPU上并行运行Python Tensorflow
EN

Stack Overflow用户
提问于 2017-10-25 17:46:25
回答 1查看 1.4K关注 0票数 0

我需要使用Tensorflow和Python来训练大量的神经网络。我的神经网络(MLP)从非常小的(~ 2个隐藏层,每个~30个神经元)到大的(3-4个层,每个>500个神经元)。

我能够在我的GPU上按顺序运行它们,这是很好的。但是我的CPU几乎是空闲的。此外,我发现,对于非常小的网络,我的CPU比GPU更快(我假设是因为GPU开销等原因)。这就是为什么我想同时使用CPU和GPU来训练我的网络。CPU应该处理较小的网络到较大的网络,而我的GPU应该处理从较大的网络到较小的网络,直到它们在中间的某个地方相遇……我想,这是个好主意:-)

所以我只是简单地在不同的进程中启动我的消费者两次。一个是device = CPU,另一个是device = GPU。两者都像预期的那样启动并使用了前两个网络。但是,GPU消费者抛出了一个异常,他的张量被CPU(!)上的另一个进程访问/违反,我觉得这很奇怪,因为它应该在GPU上运行……

有没有人可以帮助我,完全隔离我的to进程?

EN

回答 1

Stack Overflow用户

发布于 2018-01-29 21:11:14

您的网络中有共享运营商的吗?例如,它们在设置为variable_scope(reuse=True)的相同variable_scope中使用具有相同名称的变量

然后,多个网络将尝试重用相同的底层张量结构。

还要检查tf.Session中的tf.ConfigProto.allow_soft_placement是否设置为True或False。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46929145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档