0

我正在 CPU 上训练 VAE 模型,它在 1 个时期内运行良好,因为我需要对其进行更多训练才能使用 GPU 获得良好的结果,我尝试在 GPU 上进行训练,但内存不足。因为,CPU 需要 25.375 GB 内存。当它被清除 GPU 内存为 12 GB 时,它会抛出内存不足。所以现在,我将代码转移到具有 8 gpu (12 * 8 GB) 内存的更大实例。因此,相应地应该解决内存不足的问题,而是将所有占用的内存从 1 gpu 复制到所有 8 GPU。因此,使用多个 GPU 是没有用的。

我发现完成整个训练的总内存是 25.375 GB。因此,使用 12 GB 的单个 GPU 会导致内存不足。现在,我使用每个 12 GB 的 8 个 GPU 来解决这个问题。

GPU:K80 Chainer:6.0.0 Cupy:6.0.0

avg_elbo_loss.to_gpu()

上面的代码在 12Gb 中占用了大约 8GB 的​​内存。反正有没有减少它或写它减少它?

我尝试使用多个 GPU 来解决这个问题。

   num_gpus =8

   if num_gpus > 0:

    updater = training.updater.ParallelUpdater(
    train_iter,
    optimizer,
    devices={('main' if device == 0 else str(device)): device for 
             device in range(num_gpus)},
)
else:
    updater = training.updater.StandardUpdater(train_iter, optimizer, 
                device=args.gpus)

预期使用单个 GPU 的输出。

4

0 回答 0