问题标签 [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 投票
2 回答
77 浏览

python - 为什么这个布尔值在这个贝叶斯分类器中?(Python 问题?)

我正在研究GANs(而且我是python的初学者),我在之前的练习中发现了这部分代码我不明白。具体来说,我不明白为什么使用第 9 行的布尔值(Xk = X[Y == k]),原因我写在下面

  1. 该布尔值根据 Y == k 的真实性返回 0 或 1,因此 Xk 始终是 X 列表的第一个或第二个值。Y 没有找到它的用处。
  2. 在第 10 行中,len(Xk) 始终为 1,为什么它使用该参数而不是单个 1?
  3. 下一行的均值和协方差每次只计算一个值。

我觉得我没有理解一些非常基本的东西。

0 投票
1 回答
509 浏览

tensorflow - Tensorflow GAN:“没有为任何变量提供梯度”

我正在尝试用 TF 建立一个 GAN,但我很愚蠢。我在网上搜索但找不到答案。

当我运行提供的代码时,我得到:

ValueError:没有为任何变量提供梯度,请检查您的图表中不支持梯度的操作,在变量之间

0 投票
0 回答
782 浏览

python - CycleGAN - 工件和风格不转移

我正在使用 tf 和 Keras 按照此处此处使用的方法创建一个循环GAN

我对生成器 A->B 和 B->A 生成的图像有一些奇怪的行为


下图从左到右显示

  • real_A(原始图像)
  • generated_B ( generator_AtoB 应用于 real_A)
  • generated_A (generator_BtoA 应用于前一张图像)

及其对应物

  • real_B(原始图像)
  • generated_A ( generator_BtoA 应用于 real_B)
  • generated_B (generator_AtoB 应用于前一张图片)

GAN 示例

图像 2 和 5 是生成器对原始图像的应用,它们具有非常强烈的方格伪影(我猜是由于反卷积),并且没有显示从马“变形”到斑马的迹象,反之亦然。

我不明白的是,图像 3 和 6 是完全相同的生成器,应用于“伪影”图像,但它们没有显示任何伪影迹象。

  • 我在训练发电机时做错了什么吗?

即使在 10k epochs 之后,也没有视觉改进的迹象: - 为什么图像 2 和 5 没有显示风格转移的迹象?- 为什么图像 2 和 5 显示非常强的伪影,而不是 3 和 6?


完整代码:

0 投票
1 回答
232 浏览

tensorflow - 在估计器模型函数中使用 tf.cond() 在 TPU 上训练 WGAN 会导致 global_step 加倍

我正在尝试在 TPU 上训练 GAN,因此我一直在使用 TPUEstimator 类和随附的模型函数来尝试实现 WGAN 训练循​​环。我正在尝试tf.cond将 TPUEstimatorSpec 的两个训练操作合并为:

gen_opt并且critic_opt是我正在使用的优化器的最小化功能,也设置为更新全局步骤。CRITIC_UPDATES_PER_GEN_UPDATE是一个 Python 常量,它是 WGAN 训练的一部分。我尝试使用 找到 GAN 模型tf.cond,但所有模型都使用tf.group,我不能使用它,因为您需要比生成器优化更多次批评者。但是,每次运行 100 个批次,全局步长根据检查点编号增加 200。我的模型是否仍在正确训练,或者tf.cond不应该以这种方式用于训练 GAN?

0 投票
1 回答
589 浏览

pytorch - 彩色图像上的 GAN

大多数(PyTorch)开源 GAN 在 MNIST 数据集(即灰度图像)上工作。

我可以在彩色图像的每个通道上使用 GAN,然后组合结果吗?

0 投票
1 回答
80 浏览

python - TensorFlow 高效 Cyclegan 历史池

CycleGAN 论文中提到了鉴别器的历史池。因此,我们保留了来自生成器的最后 50 个样本,并将它们提供给鉴别器。如果没有历史,这很简单,我们可以利用tf.data.Dataset迭代器将数据插入网络。但是有了历史池,我不知道如何使用tf.data.Datasetapi。训练循环内的代码看起来像

令我困扰的是代码效率低下,例如在训练期间不可能像tf.dataAPI 的预取那样预加载下一批,但我看不到任何使用tf.dataAPI 的方法。它是否提供某种历史池,我可以将其用于预取并通常优化数据加载模型?此外,当我在鉴别器训练 op 和生成器训练 op 之间有一定比例时,也会出现类似的问题。例如,如果我想每 1 步鉴别器运行 2 步生成器训练操作,可以使用相同的数据来完成吗?因为使用tf.dataAPI,每次调用 sess.run 时都会从迭代器中提取新样本。

有什么方法可以正确有效地实施吗?

0 投票
2 回答
1008 浏览

python-3.x - 给予 GAN 的随机噪声是否应该保持不变?

我正在研究生成对抗网络(GAN)。在训练的每一步,我都会调用一个方法,该方法generate_noise返回一些随机噪声的张量。

当我调用此方法时,我会收到一个随机噪声张量,该张量会提供给生成器网络。我的问题是:

如果生成器每次(每一步)都接收随机输入,它如何优化自身以创建有意义的图像(输出)?

那么我是否应该在每一步都使噪音保持不变。意思是,每一步只传递一个噪声张量。

我是否应该使噪声恒定,以便生成器网络必须处理一个输入,从而可以创建有意义的输出?

参考了很多关于 GAN 的视频和博客。我找不到噪音是否保持不变。任何帮助表示赞赏。

0 投票
0 回答
213 浏览

python - 如何在 TPU 的其他模型中使用 keras 模型

我正在尝试将 keras 模型转换为 google colab 中的 tpu 模型,但是这个模型里面有另一个模型。

看一下代码: https ://colab.research.google.com/drive/1EmIrheKnrNYNNHPp0J7EBjw2WjsPXFVJ

这是 google tpu 文档中示例之一的修改版本: https ://colab.research.google.com/github/tensorflow/tpu/blob/master/tools/colab/fashion_mnist.ipynb

如果 sub_model 被转换并直接使用,它可以工作,但如果子模型在另一个模型中,它就不起作用。我需要网络的子模型类型,因为我正在尝试训练一个内部有 2 个网络的 GAN 网络(gan=generator+discriminator),所以如果这个测试有效,它可能也适用于 gan。

我尝试了几件事:

  • 在不转换子模型的情况下将模型转换为 tpu,这样在开始训练时会提示与子模型的输入相关的错误。
  • 将模型和子模型都转换为tpu,这样在转换“父”模型时会提示错误,异常只在“层”末尾说。
  • 仅将子模型转换为 tpu,在这种情况下不会提示错误,但 tpu 不会加速训练,并且非常慢,就像根本没有转换为 tpu 一样。
  • 是否使用固定的批量大小,两者的结果相同,模型不起作用。

有任何想法吗?非常感谢。

0 投票
1 回答
39 浏览

python-3.x - Face Generation TensorFlow 将尺寸从 28px conv2d_transpose 增加

我正在关注本教程,并且可以使用我的 GPU 成功生成 28 像素大小的人脸。但是我不知道如何使用下面的生成器函数的逻辑来增加人脸的大小(目前为 28px):

我认为我需要更改以下内容:

0 投票
1 回答
959 浏览

python - 是否可以使用 GAN 仅填充图像的缺失部分而不是生成整个图像?

我正在尝试使用 GAN 来填充图像的缺失部分,使用 SSIM 作为损失函数。填充很好,但是当我发现实际输出和预测输出之间的差异时,它会在差异图像中显示相同的缺失部分。我希望实际图像和预测图像的像素值差异尽可能小。

图像像素范围从 -7000 到 180000。我将其归一化为 [0,1]。

有什么办法可以改善吗?