问题标签 [generative-adversarial-network]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1091 浏览

tensorflow - Keras 报告错误的准确性

我正在 Keras 中训练生成对抗网络 (GAN)。

我的日志报告说两个网络(鉴别器和组合模型)都达到了 100% 的准确率。这表明有问题。

我尝试运行推理,发现鉴别器确实是 100% 准确的,但生成器只产生噪声,根本没有欺骗鉴别器。

我的问题:为什么 Keras 将我的组合模型的准确率报告为 100%?

代码:

最后几个步骤的结果:

推理:

0 投票
1 回答
444 浏览

neural-network - 调试 GAN 覆盖错误

构建 GAN 以生成图像。图像有 3 个颜色通道,96 x 96。

生成器一开始生成的图像都是黑色的,这是一个在统计上极不可能出现的问题。

此外,两个网络的损失都没有改善。

我在下面发布了整个代码,并进行了评论以使其易于阅读。这是我第一次构建 GAN,而且我是 Pytorch 的新手,因此非常感谢任何帮助!

谢谢。

0 投票
1 回答
435 浏览

python - GAN 没有很好地进行训练

我已经使用 keras 编写了一个 GAN 模型,但训练并不顺利。生成器模型总是返回裸噪声图像(28x28 大小),而不是类似于 mnist 数据集的东西。但是,这并没有给我任何错误,当涉及到训练鉴别器模型时,模型将变为trainable=False,这不是我想要做的。

如果这个实现不好,请告诉我。任何人都可以帮忙吗?

0 投票
1 回答
3901 浏览

tensorflow - Keras 中的自注意力 GAN

我目前正在考虑在 keras 中实现 Self-Attention GAN。我想实现的方式如下:

但我不知道如何添加一个可训练的标量伽马,如本文所述:SAGAN

我也希望有人能提供一些关于如何初始化可训练 keras 标量的想法。


编辑:

我现在的实现是:

0 投票
1 回答
9027 浏览

python - Keras.backend.reshape:TypeError:无法转换类型的对象到张量。考虑将元素转换为支持的类型

我正在为我的神经网络设计一个自定义层,但我的代码出现错误。

我想做一个注意力层,如论文中所述:SAGAN。和原来的 tf 代码

当我在模型中添加这一层时,出现错误:

我试图x_shape = x.shape.as_list()在 hw_flatten 函数中制作,但它不起作用,我不知道如何调试这个错误。

0 投票
1 回答
274 浏览

python - Keras 条件 WGAN-GP 中的单个数字样本

我已经实现了一个条件 WGAN-GP,它可以很好地从 0-9 采样数字,但是一旦我想采样单个数字,我就会遇到维度问题。

给我:ValueError: Error when checking : expected input_2 to have shape (10,) but got array with shape (1,)

但是,对 10 个图像进行采样可以正常工作。

我怎样才能只采样一个数字?

完整代码如下:

0 投票
2 回答
794 浏览

python - 向keras网络添加类信息

我试图弄清楚如何将我的数据集的标签信息与生成对抗网络一起使用。我正在尝试使用可以在此处找到的条件 GAN 的以下实现。我的数据集包含两个不同的图像域(真实对象和草图),具有共同的类信息(椅子、树、橙色等)。我选择了这种实现,它只将两个不同的域视为对应的不同“类”(训练样本X对应于真实图像,而目标样本y对应于草图图像)。

有没有办法修改我的代码并在我的整个架构中考虑类信息(椅子、树等)?实际上,我希望我的鉴别器预测我从生成器生成的图像是否属于特定类别,而不仅仅是它们是否真实。事实上,使用当前架构,系统学习在所有情况下创建类似的草图。

更新:鉴别器返回一个大小的张量,1x7x7然后在计算损失y_true之前y_pred通过一个展平层:

以及鉴别器对生成器的损失函数:

此外,我对输出 1 层的鉴别器模型的修改:

现在鉴别器输出 1 层。如何相应修改上述损失函数?n_classes = 6对于预测真假配对的 + 一类,我应该使用 7 而不是 1吗?

0 投票
0 回答
1061 浏览

python - 在 Keras 中实现条件 WGAN-GP

我将 WGAN-GP 扩展为从此处找到的代码库有条件: https ://github.com/eriklindernoren/Keras-GAN/blob/master/wgan_gp/wgan_gp.py

当我训练模型时,它似乎不受标签的限制。这就是我构建模型的方式。

绘制模型结果:

有条件的 WGAN-GP

我不知道如何解释右侧的合并箭头。标签应该在鉴别器中连接。我有一种感觉,这条线搞砸了一些东西:

因为我只是传递标签,我不知道 Keras 如何将该输入路由到其他输出..

0 投票
1 回答
1595 浏览

tensorflow - Tensorflow - tf.variable_scope,GAN 的重用参数

我正在尝试为一个项目构建一个 GAN,我真的很想了解这个在 tensorflow 的 variable_scope 中共享的变量是如何工作的。

为了构建 GAN,我有一个生成器网络和两个鉴别器网络:一个鉴别器输入真实图像,一个鉴别器输入由生成器创建的假图像。重要的是,输入真实图像的鉴别器和输入假图像的鉴别器需要共享相同的权重。为了做到这一点,我需要分享权重。

我有一个鉴别器和生成器定义,可以说:

现在生成器和鉴别器函数被调用:

为什么第二次调用中的 reuse=True 语句会产生权重共享?据我了解,您需要决定在第一次调用中重用变量,以便您可以稍后在程序中的某个地方使用它们。

如果有人可以向我解释这一点,我会非常高兴,我找不到这个话题的好来源,而且对我来说似乎真的很混乱和复杂。谢谢!

0 投票
1 回答
123 浏览

python - scipy.misc 库在机器学习中的用途是什么?

我正在训练一个生成对抗网络。我提到了很多例子,它们有 scipy.misc 的共同点。我遇到了这个网站,但它没有帮助。

这个特定库的用途是什么。