问题标签 [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 回答
360 浏览

python - DCGAN Tensorflow 代码不会在 CelebA 数据集上生成人脸

我编写了以下代码,但没有在 celebA 数据集上生成人脸。我认为它应该在每个时期的最后一次迭代中创建某种面孔(即使非常模糊)。但是,它只会创建没有可见面孔的嘈杂方块。我对 GAN 很陌生,我不知道如何调试这个深度卷积 GAN (DCGAN) 以找出问题所在。

我的代码可能更容易在这里看到: https ://pastebin.com/c4QUqxJy 这是代码:

这是在前 5 个 epoch 结束时创建的图像。我还评论了与 tensorboard 相关的内容,因为不幸的是它让它变得非常慢。

纪元 0 结束: 在此处输入图像描述

时代 1 结束: 在此处输入图像描述

纪元 2 结束: 在此处输入图像描述

第三纪元结束: 在此处输入图像描述

第四纪元结束: 在此处输入图像描述

0 投票
1 回答
230 浏览

python - 在输出层删除一些神经元(Keras)

我正在使用 Keras 制作用于合成数据生成的 GAN。所以,我想使用一个预先训练好的分类器模型作为鉴别器(因为我不必训练鉴别器,只需要生成器)。

预训练模型是在 keras 中制作的,在最后一层Dense(4, activation='softmax')(A、B、C、D)有原始的 4 个输出。我想从 C 类生成合成数据。鉴别器模型必须只有 1 个输出(假的或真的),所以我需要将 pre-treinade 模型的最后一层更改为只有 C 输出。那么,我如何在 keras 中做到这一点,或者在后端使用 Tensorflow?

我正在寻找这样的东西......

在此处输入图像描述

0 投票
1 回答
32 浏览

deep-learning - 关于生成对抗模型的基本查询

当噪声是特定输入(例如n 个图像而不是随机噪声)时,生成器是否可以学习分布?例如,有两类图像,标签为 01 ,表示0 表示猫1 表示狗。是否有可能在我们喂狗时学习生成器,它会根据狗的图像生成猫图像?这个查询在某种程度上与去模糊图像相同,但是如果没有针对该模糊图像给出清晰的图像,但我们只是给出了随机清晰的图像怎么办。

0 投票
0 回答
1497 浏览

python - RuntimeError:CUDA 错误:内存不足 - DCGAN with image_size = 256

我正在尝试使用image_size = 256(使用 PyTorch)实现 DCGAN。我已经实现了生成器和鉴别器代码,如下所示:

在 GAN 论坛上阅读了一些内容后,我发现它batch_size一定很低,考虑到我使用的是具有4GB内存的GTX 1050 Ti(实际上,我的变量设置为)。 batch_size5

我发现错误:

有人可以帮我吗?

更新 2:调整代码大小

0 投票
2 回答
1391 浏览

python - 张量流模型不更新权重

我有一个正在训练的模型(它通过步骤和时期并评估损失)但权重没有训练。

我试图训练一个鉴别器来区分图像是合成的还是真实的。它是 GAN 模型的一部分,我正在尝试构建。

基本结构如下: 模型结构

我有两个输入:1. 图像(可以是真实的或合成的)2. 标签(0 表示真实,1 表示合成)

Source Estimator 是我从图像中提取特征的地方。我已经训练了模型并恢复了权重和偏差。这些层被冻结(不可训练)。

鉴别器如下:

输入进入 SourceEstimator 模型并提取特征 (c3,c5)。

然后 c3 和 c5 沿通道轴连接并传递给鉴别器模型。

最后损失和train_ops

训练步骤和时期。我正在使用 32 批量大小。和数据生成器类来获取每一步的图像。

当模型经历步骤和时期时,权重保持不变。

损失在训练步骤期间波动,但每个时期的损失是相同的。例如,如果我不在每个 epoch 打乱数据集,则图上的 loss 将在每个 epoch 遵循相同的模式。

我认为这意味着模型可以识别不同的损失,但不会根据损失更新参数。

以下是我尝试过但没有帮助的其他几件事:

  1. 尝试了大大小小的学习率(0.1和1e-8)
  2. 尝试使用 SourceEstimator 层 trainable==True
  3. 翻转标签(0 == 合成,1 == 真实)
  4. 鉴别器中增加了内核大小和过滤器大小。

我已经被这个问题困扰了一段时间,我真的需要一些见解。提前致谢。

------编辑1-----

0 投票
1 回答
747 浏览

tensorflow - 同时训练判别器和生成器(Tensorflow)

通常在使用 TensorFlow 的 GAN 代码中,我们有以下形式:

这可以看作是先训练判别器(D),然后训练生成器(G)。但是,如果我们执行以下操作会怎样:

现在是否意味着 D 和 G 正在并行训练?还是和以前相比,G 现在已经“过时”了 D?

0 投票
1 回答
32 浏览

python-3.x - 训练时的一般查询

做以下条件的意思是一样的。据我所知,我认为它们是相同的。请指导我。

0 投票
1 回答
152 浏览

python - Keras 中的“淡入”新层

我正在尝试使用 tensorflow 后端在 Keras 中实现这篇论文。

在我的理解中,他们逐渐发展出 GAN,随着模型的训练逐渐淡入额外的层块。新层在迭代中线性淡入。

我不确定如何介绍他们使用的“淡入”。

要做到这一点 Keras,我想我可能需要一个 Lambda 层——但这就是我所知道的。

有什么建议么?

谢谢!

0 投票
0 回答
203 浏览

tensorflow - GAN 的全局步骤

我正在使用分布式 TensorFlow 训练 GAN。

在典型的 GAN 中,我们将交替优化 G 和 D,而在分布式训练中,全局步将传递给 G 优化器和 D 优化器,然后全局步将在一次迭代中计算两次,但实际上我们只想计算一次。

这是我的代码的一部分:

结果,全局步将在 G 和 D 上计算两次。

0 投票
1 回答
183 浏览

python - 使用生成对抗神经网络从潜在变量生成图像

我需要构建一个以两个潜在变量的值作为输入的深度神经网络,并生成一个灰度图像。

我知道这类似于 GAN 中的生成器网络,但是是否有任何已发表的研究工作或任何专门用于此类学习任务的 // 代码PythonTensorflowKeras