问题标签 [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.
python - 为什么这个布尔值在这个贝叶斯分类器中?(Python 问题?)
我正在研究GANs(而且我是python的初学者),我在之前的练习中发现了这部分代码我不明白。具体来说,我不明白为什么使用第 9 行的布尔值(Xk = X[Y == k]),原因我写在下面
- 该布尔值根据 Y == k 的真实性返回 0 或 1,因此 Xk 始终是 X 列表的第一个或第二个值。Y 没有找到它的用处。
- 在第 10 行中,len(Xk) 始终为 1,为什么它使用该参数而不是单个 1?
- 下一行的均值和协方差每次只计算一个值。
我觉得我没有理解一些非常基本的东西。
tensorflow - Tensorflow GAN:“没有为任何变量提供梯度”
我正在尝试用 TF 建立一个 GAN,但我很愚蠢。我在网上搜索但找不到答案。
当我运行提供的代码时,我得到:
ValueError:没有为任何变量提供梯度,请检查您的图表中不支持梯度的操作,在变量之间
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 应用于前一张图片)
图像 2 和 5 是生成器对原始图像的应用,它们具有非常强烈的方格伪影(我猜是由于反卷积),并且没有显示从马“变形”到斑马的迹象,反之亦然。
我不明白的是,图像 3 和 6 是完全相同的生成器,应用于“伪影”图像,但它们没有显示任何伪影迹象。
- 我在训练发电机时做错了什么吗?
即使在 10k epochs 之后,也没有视觉改进的迹象: - 为什么图像 2 和 5 没有显示风格转移的迹象?- 为什么图像 2 和 5 显示非常强的伪影,而不是 3 和 6?
完整代码:
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?
pytorch - 彩色图像上的 GAN
大多数(PyTorch)开源 GAN 在 MNIST 数据集(即灰度图像)上工作。
我可以在彩色图像的每个通道上使用 GAN,然后组合结果吗?
python - TensorFlow 高效 Cyclegan 历史池
在CycleGAN 论文中提到了鉴别器的历史池。因此,我们保留了来自生成器的最后 50 个样本,并将它们提供给鉴别器。如果没有历史,这很简单,我们可以利用tf.data.Dataset
迭代器将数据插入网络。但是有了历史池,我不知道如何使用tf.data.Dataset
api。训练循环内的代码看起来像
令我困扰的是代码效率低下,例如在训练期间不可能像tf.data
API 的预取那样预加载下一批,但我看不到任何使用tf.data
API 的方法。它是否提供某种历史池,我可以将其用于预取并通常优化数据加载模型?此外,当我在鉴别器训练 op 和生成器训练 op 之间有一定比例时,也会出现类似的问题。例如,如果我想每 1 步鉴别器运行 2 步生成器训练操作,可以使用相同的数据来完成吗?因为使用tf.data
API,每次调用 sess.run 时都会从迭代器中提取新样本。
有什么方法可以正确有效地实施吗?
python-3.x - 给予 GAN 的随机噪声是否应该保持不变?
我正在研究生成对抗网络(GAN)。在训练的每一步,我都会调用一个方法,该方法generate_noise
返回一些随机噪声的张量。
当我调用此方法时,我会收到一个随机噪声张量,该张量会提供给生成器网络。我的问题是:
如果生成器每次(每一步)都接收随机输入,它如何优化自身以创建有意义的图像(输出)?
那么我是否应该在每一步都使噪音保持不变。意思是,每一步只传递一个噪声张量。
我是否应该使噪声恒定,以便生成器网络必须处理一个输入,从而可以创建有意义的输出?
参考了很多关于 GAN 的视频和博客。我找不到噪音是否保持不变。任何帮助表示赞赏。
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 一样。
- 是否使用固定的批量大小,两者的结果相同,模型不起作用。
有任何想法吗?非常感谢。
python-3.x - Face Generation TensorFlow 将尺寸从 28px conv2d_transpose 增加
我正在关注本教程,并且可以使用我的 GPU 成功生成 28 像素大小的人脸。但是我不知道如何使用下面的生成器函数的逻辑来增加人脸的大小(目前为 28px):
我认为我需要更改以下内容:
python - 是否可以使用 GAN 仅填充图像的缺失部分而不是生成整个图像?
我正在尝试使用 GAN 来填充图像的缺失部分,使用 SSIM 作为损失函数。填充很好,但是当我发现实际输出和预测输出之间的差异时,它会在差异图像中显示相同的缺失部分。我希望实际图像和预测图像的像素值差异尽可能小。
图像像素范围从 -7000 到 180000。我将其归一化为 [0,1]。
有什么办法可以改善吗?