我有一个大型模型,我在with tf.device('/gpu:0')
内部构建,因为我希望所有操作都放在那里,如果可能的话。但是,在更新到1.4(从1.2)之后,tensorflow坚持将所有操作放在cpu上(根据log_device_placement
)。我无法关闭软设备放置,因为似乎有些操作(与计算形状相关,以及AdamOptimizer)似乎无法放在gpu上。是否有一些中间选项,我可以给tensorflow,以便它将除了没有gpu内核的那些操作放在gpu上?
看来我实际上并没有运行tensorflow-gpu,因为他们的pip包装中有一些漏洞(https://github.com/tensorflow/tensorflow/issues/12388)。在pip uninstall tensorflow && pip install tensorflow-gpu
之后,一切似乎都很好。