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

keras - 我是否必须每批重新编译我的 Gan,以防止判别器学习?

我有一个像这样的甘

它学习并给出可接受的输出。但是我收到警告:

“keras\engine\training.py:490: UserWarning: Discrepancy between trainable weights and collectable weights, did you set model.trainablewithout call model.compileafter?'可训练权重和收集的可训练权重之间的差异'”

如果我每批次重新编译鉴别器和 gan,警告就会消失,但一次迭代需要更长的时间,训练速度也会更慢。

其中哪一项是正确的?

0 投票
2 回答
10777 浏览

python - 我如何在每个时期而不是每个批次中获得损失?

在我的理解中,一个时期是对整个数据集的任意重复运行,而这些数据又被分部分处理,即所谓的批次。每train_on_batch计算一个损失后,更新权重,下一批会得到更好的结果。这些损失是 my to NN 的质量和学习状态的指标。

在几个来源中,每个时期都会计算(并打印)损失。因此,我不确定我是否做对了。

目前我的 GAN 看起来像这样:

这些损失是针对每批的。我如何获得它们一个时代?顺便说一句:我需要一个时期的损失,为什么?

0 投票
1 回答
1284 浏览

tensorflow - 在 keras 中处理多个损失及其权重

使用具有多个损失的 train_on_batch 训练 GAN 模型,我可以在编译模型时使用随机loss_weights还是有一些特定的策略来使用这些损失权重,如此处所述。在我的问题中,是 generated_image 和 original_image的损失函数,是 0 和 1 类的分类损失函数。 mean_sqaured_errorbinary_crossentropy

0 投票
1 回答
1888 浏览

tensorflow - 当我使用 train_on_batch 训练模型时,如何告诉 Keras 学习阶段?

我的模型中有 dropout 层,所以我希望 keras 找出训练和测试阶段以运行或忽略 dropout 层,我发现 K.set_learning_phase 可以帮我这个忙,但是我如何将它添加到训练和测试过程中? 我的代码是这样的:

任何建议将不胜感激。谢谢。

0 投票
1 回答
356 浏览

python-3.x - 在 Keras 中重新训练使用 train_on_batch() 训练的已保存模型

我正在研究 GANS,我需要在下班后保存模型。然后我必须再次重新训练之前保存的模型。我正在保存这三个模型以供以后继续训练。

对于这些模型,我使用perceptual lossand Wasserstein loss。但是当我load_model再次重新训练保存的模型时,它会遇到以下错误。

我也尝试过Discriminator.compile(loss=Wasserstein loss),但这仍然不能解决我的问题。你们中的任何人都可以指导我解决这个问题,并告诉我可以使用 train_on_batch() 重新训练保存的模型。

0 投票
1 回答
5755 浏览

python-3.x - 图表断开:无法获取张量 Tensor 的值

我必须用生成器和鉴别器训练 GAN 网络。我的发电机网络如下。

我的鉴别器网络如下。鉴别器网络的第一步是我必须将鉴别器的输入与生成器的输出连接起来。

启动架构

我的问题是当我传递concatenated_inputconvolution图层时,它会出现以下错误。

如果我删除连接层,它可以完美地工作,但是为什么它在连接层之后不起作用,尽管连接中的输入和 Generator_output 的形状也是相同的,即(512,512,3)

0 投票
0 回答
493 浏览

deep-learning - 如何对 tensorRT pytorch GAN 模型进行推理

我已经使用 onnx 格式在 tensorrt 中实现了我的 Pix2Pix GAN 模型。但我不知道如何对 tensorRT 模型进行推理,因为 (3, 512, 512 ) 图像中模型的输入和输出也是 (3, 512, 512) 图像。样本没有清楚地显示如何从 tensorRT 引擎输入和输出图像。

这是我的代码:

但是输出并不像预期的那样。请告诉我,将图像输入到 tensorRT 引擎的最佳方式是什么,以及如何从中获得正确的输出。谢谢

0 投票
1 回答
46 浏览

python - 关于使用 AutoEncoder 学习 GAN 时如何更新 AutoEncoder 生成的图像

main() 的内容更新生成器时'''noise = np.array(size = [batch_size, batch_images], low = -1.0, high = 1.0)''' 因为我使用的是np.array,所以我得到一个错误以及我应该为这部分分配什么

在标准 GAN 期间,我在更新生成器时使用了以下内容,但我更改为上面代码的地方没有训练 ''' noise = np.random.uniform (size = [batch_size, batch_images], low = -1.0, high = 1.0) '''

我们正在使用自动编码器制作 GAN。最初它基本上是让生成器使用随机数生成图像,但在我的 GAN 中,我们学习使用输出与输入相同的生成器(如 Autoencoder)与鉴别器竞争,我认为我认为生成器具有与在我们学习时输入图像。虽然我是刚开始深度学习的初学者,我可以实现标准的GAN,但是我不能实现上面提到的GAN

我认为main()中正在学习的部分的代码有问题,但是如果有懂的人请给我教授

学习正常开始,生成了某种图像,应该显示如下 step 0 d_loss, g_loss : 0.675611 0.594226

但是,出现以下错误

0 投票
0 回答
448 浏览

tensorflow - DCGAN 生成器损失在 5 个 epoch 后停留在 0.7

在玩过 PyTorch DCGAN 人脸教程后,我开始使用我自己的数据集,该数据集由大小为 1x32x32(通道、高度、宽度)的图像组成。

现在,我确实应用了这个存储库中的大部分内容:https ://github.com/soumith/ganhacks

但目前我被困住了。

我提出这个论点是为了选择是训练生成器(G)还是判别器(D)。

其中 i 是当前批号,train_D在第train_G一批中设置为 True。D_G_z1是 D(G(x))。

我希望一旦 D 被训练并且 D(G(x)) = 0.5,D 将停止训练,G 将开始训练以提高生成图像的真实感等。现在 D 和 G 在条件满足时进行训练遇见了。

但是,G 的损失在 5 个 epoch 后停留在 0.7,并且似乎不会随着 1k epochs 而改变(我没有尝试更多)。改变 G 的学习率,或者通过改变每个 ConvTranspose2d 层的通道数量来增加/减少 G 的复杂性也无济于事。

现在最好的方法是什么?任何意见,将不胜感激。

代码可以在这里找到:https ://github.com/deKeijzer/SRON-DCGAN/blob/master/notebooks/ExoGAN_v1.ipynb

TLDR:发电机损耗停留在 0.7,不再变化。它也没有“学习”到 X 的良好表示。

0 投票
2 回答
532 浏览

python - 为什么生成的图像与这个 GAN 中的真实图像具有不同的形状?

我有一个生成对抗网络 (GAN) Keras 代码,如下所示。我的火车目录由512x512x3图像组成。为什么打印语句返回以下内容?我怎样才能让生成的图像也有形状(374, 512, 512, 3)

这是生成图像的形状 (374, 32, 32, 3)

这是真实图像的形状(374、512、512、3)

谢谢。