我最近在学使用Pytorch写GAN代码,发现有些代码在训练部分细节有略微不同,其中有的人用到了detach()函数截断梯度流,有的人没用detch(),取而代之的是在损失函数在反向传播过程中将backward(retain_graph=True),本文通过两个 gan 的代码,介绍它们的作用,并分析,不同的更新策略对程序效率的影响. 这两个 GAN 的实现中,有两种不同的训练策略: 先训练判别器(discriminator),再训练生成器(generator),这是原始论文Generative…