我试图实现一个Creative Adversarial Networks的Pytorch版本,一个带有修改/自定义丢失功能的GAN。
以下是formulae for the loss function。我使用Pytorch的{{1}}作为鉴别器的修改损失函数,它似乎正在起作用,因为它的损失随着时代而减少,但我不认为{ {1}}适用于生成器,因为nn.CrossEntropyLoss
似乎期望nn.CrossEntropyLoss
而不是nn.CrossEntropyLoss
张量,并且论文的损失函数,特别是生成器的丢失,似乎我喜欢它需要花车。
这是我对发电机定制损失的当前(初步)思考:
Long
是类的数量
Float
=输出给定输入图像的样式/类的FC层
y_dim
循环试图等同于:
(sigma k = 1至k)((1 / K)log(Dc(ck | G(z))+(1 - (1 / K)log(1 - Dc(ck | G(z)) )。
disc_class_layer
这是在正确的轨道上吗?我是自定义丢失函数和Pytorch的新手,并且不确定这是要走的路。
任何帮助都会很棒!