官方 PyTorch CycleGAN 存储库中的 PatchGAN 实现在哪里?
Where is the PatchGAN implementation in the official PyTorch CycleGAN repo?
论文和 code 评论中提到了 70x70 PatchGAN,尽管我在代码中找不到任何地方明确实现了它。
有人知道它是如何实现的吗?
我已经弄明白了。在 PatchGAN 的最后一个卷积层之后(在平均池之前)receptive field size 是 70。因此来自该卷积层的单通道特征图(30x30)上的每个神经元都具有来自 70x70 补丁的信息输入。相应的补丁在输入上彼此重叠。
PatchGAN 架构没有为鉴别器创建单值输出,而是输出大约 30x30 点的特征图。特征图上的每个点都可以在输入上看到一个 70x70 像素的补丁 space(这称为感受野大小,如上面链接的文章中所述)。
输出特征图上的每个点代表鉴别器认为特定特征点的感受野有多真实的概率。
在训练鉴别器时,将输出特征图与真实图像的 30x30 张量 1 和 generated/fake 图像的 30x30 张量 0 进行比较。
我们这样做的原因是,与输出单个值的鉴别器相比,PatchGAN 鉴别器对其所查看图像的风格变得更加敏感。
论文和 code 评论中提到了 70x70 PatchGAN,尽管我在代码中找不到任何地方明确实现了它。
有人知道它是如何实现的吗?
我已经弄明白了。在 PatchGAN 的最后一个卷积层之后(在平均池之前)receptive field size 是 70。因此来自该卷积层的单通道特征图(30x30)上的每个神经元都具有来自 70x70 补丁的信息输入。相应的补丁在输入上彼此重叠。
PatchGAN 架构没有为鉴别器创建单值输出,而是输出大约 30x30 点的特征图。特征图上的每个点都可以在输入上看到一个 70x70 像素的补丁 space(这称为感受野大小,如上面链接的文章中所述)。
输出特征图上的每个点代表鉴别器认为特定特征点的感受野有多真实的概率。 在训练鉴别器时,将输出特征图与真实图像的 30x30 张量 1 和 generated/fake 图像的 30x30 张量 0 进行比较。
我们这样做的原因是,与输出单个值的鉴别器相比,PatchGAN 鉴别器对其所查看图像的风格变得更加敏感。