tf.device('CPU:0')仍使用GPU内存

时间:2018-12-01 23:46:19

标签: tensorflow

我对DeepMind的DQN有一个非常忠诚的TensorFlow实现,它遇到了“内存不足”(OOM)错误。这显然是从体验重播中获得的,但是问题是我似乎无法分配我的内存来处理重播。如下所示,我在初始化时以及每次引用它时都将重播内存分配给cpu。

with tf.device('CPU:0'):
        self.replay_memory = replay_memory(cfg)

with tf.device('CPU:0'):
        # Fetch batch of experiences
        s0, logits, rewards, s1 = self.replay_memory.fetch()

with tf.device('CPU:0'):
        # Populate memory with experiences
        self.replay_memory.push([s0, logits, reward, s1])

但是它仍然会遇到GPU OOM错误。我有32克的ram和一个含8克的vram的gtx 1070。仅当我允许我的重放内存的大小达到> 10000时,才会发生此错误。对于(32、84、84、4)的输入尺寸,我的批处理大小为32。

那么with tf.device('CPU:0')为何仍在使用GPU内存?

0 个答案:

没有答案