问题标签 [dcgan]

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 投票
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 投票
1 回答
779 浏览

python-3.x - 在:LinearFunction (Forward) 中执行了无效操作

这是主要代码。图片尺寸为420*420

完整的错误代码

鉴别器

0 投票
0 回答
243 浏览

python - 如何使用python从chainer中保存的快照恢复

如何从chainer中保存的快照恢复训练。我试图通过以下github链接使用chainer来实现DCGAN:

https://github.com/chainer/chainer/blob/master/examples/dcgan/train_dcgan.py

当我尝试给出--resume参数时,它在网络中显示形状不匹配错误。

在python代码中有一个选项可以提供我们需要从中恢复训练的快照。这些快照会自动保存到结果文件夹中。这也作为代码中的参数给出。所以我尝试从保存的快照中恢复训练给出以下命令。

其中 train.py 是带有 dcgan ciphar10 数据集标签的修改代码。

我通过给出上述命令得到的错误是:

当我使用以下命令运行 python 文件时,没有错误:

完整的错误跟踪:

0 投票
1 回答
813 浏览

python - ValueError:无法将大小为 235000 的数组重塑为形状 (100,64,64,2350)

我正在尝试实现一个 cDCGAN。我的数据集有 2350 个 num_classes,batch_size 是 100,图像大小是 64(rows=64,cols=64,channels=1),z_shape 是 100 我的值占位符如下。

我正在为训练循环中的 phY_g 和 phY_d 加载一批图像、noise_Z 和标签(一个热编码),如下所示。

一切正常,但对于 batch_Y_d 我收到错误“ValueError:无法将大小为 235000 的数组重新整形为形状(100,64,64,2350)”

如何根据占位符形状重塑它?

0 投票
1 回答
1932 浏览

python - tensorflow.python.framework.errors_impl.InternalError: Dst tensor is not initialized

I am following this Link to implement a cDCGAN on my own dataset. My dataset contains almost 391510 images. The image size of my dataset is 64 whereas the MNIST used in this link is 28. My dataset has 2350 labels where as the MNIST dataset has 10.

My dataset is in .tfrecords format so i am using a get_image() function to retrieve batch of images and labels from it as shown below. When i run my code i get the following error

When i searched about this error i found that if the batch size is large then it happens so i changed my batch size to 32 and then i got this new error.

`

My code section where i change the default code is below

These are my system specs

name: GeForce GTX 1070 major: 6 minor: 1 memoryClockRate(GHz): 1.645 pciBusID: 0000:01:00.0 totalMemory: 8.00GiB freeMemory: 6.62GiB

How can i resolve my problem?

0 投票
0 回答
519 浏览

tensorflow - 为什么nvidia-smi GPU虽然不用,但性能却很低

我是基于 GPU 的训练和深度学习模型的新手。我在我的 2 个 Nvidia GTX 1080 GPU 上的 tensorflow 中运行 cDCGAN(条件 DCGAN)。我的数据集包含大约 32,000 张大小为 64*64 的图像和 2350 个类别标签。我的批量大小非常小,即 10,因为我面临 OOM 错误(分配具有形状 [32,64,64,2351] 的张量时的 OOM)和大批量大小。

训练非常缓慢,我理解这取决于批量大小(如果我错了,请纠正我)。如果我这样做help -n 1 nvidia-smi,我会得到以下输出。

在此处输入图像描述

主要GPU:0使用,因为 Volatile GPU-Util 给我大约 0%-65%,而GPU:1最大总是 0%-3%。性能GPU:0总是在 P2 中,而GPU:1主要是 P8 或有时是 P2。我有以下问题。

1) 为什么 GPU:1 的使用量没有超过当前状态,为什么它大部分是 P8 Perf 虽然没有使用?
2)这种糟糕的训练过程是否仅会降低我的批量大小,或者可能有其他一些原因?
3)如何提高性能?4)如何避免更大批量的OOM错误?

编辑1:

型号详情如下

发电机:

我有 4 层(完全连接,UpSampling2d-conv2d,UpSampling2d-conv2d,conv2d)。
W1 的形状为 [X+Y, 16*16*128] 即 (2450, 32768), w2 [3, 3, 128, 64], w3 [3, 3, 64, 32], w4 [[3, 3, 32, 1]] 分别

鉴别器

它有五层(conv2d、conv2d、conv2d、conv2d、全连接)。
w1 [5, 5, X+Y, 64] 即 (5, 5, 2351, 64), w2 [3, 3, 64, 64], w3 [3, 3, 64, 128], w4 [2, 2 , 128, 256], [16*16*256, 1] 分别。

0 投票
1 回答
184 浏览

machine-learning - 需要帮助理解 CGAN 中的标签输入

我正在尝试实现 CGAN。我知道在卷积生成器和鉴别器模型中,您可以通过添加表示标签的深度来为输入添加体积。因此,如果您的数据中有 10 个类,那么您的生成器和判别器都将基础深度 + 10 作为其输入量。

但是,我正在在线阅读各种实现,我似乎无法找到他们实际获取此标签的位置。当然,CGAN 不可能是无监督的,因为您需要获取要输入的标签。例如,在 cifar10 中,如果您在青蛙的真实图像上训练鉴别器,则需要“青蛙”注释。

这是我正在研究的一段代码:

似乎 y_vec_ 和 y_fill_ 是图像的标签,但在用于为鉴别器标记真实图像的 y_fill_ 实例中,它等于y_fill_ = y_vec_.unsqueeze(2).unsqueeze(3).expand(self.batch_size, self.class_num, self.input_size, self.input_size)

它似乎没有从数据集中获得任何关于标签的信息?它如何给鉴别器正确的标签?

谢谢!

0 投票
1 回答
82 浏览

python - 如何使用我自己的数据在“Floydhub”上运行“Pix2Pix”代码的训练/测试命令?

我正在尝试使用我自己的数据在 Floydhub 上运行Pix2Pix-tensorflow 。

我已经按照 Pix2Pix 文档中的说明组织了我的数据文件夹。数据文件夹包含 3 个文件夹:train、test、val。

我试图在 floydhub 命令行上运行以下 train 命令:

但是,在运行作业几秒钟后,作业失败,我收到以下错误:

0 投票
1 回答
363 浏览

python - 如何使用深度学习从新特征生成新图像

如果我有一个由图像列表组成的数据集,每个图像都与一系列特征相关联;有一个模型,一旦经过训练,就会在输入新的特征列表时生成新的图像?

0 投票
1 回答
3317 浏览

python - 如何从 .pt 文件创建 Pytorch 数据集?

我已将 MNIST 图像转换为 Google 驱动器文件夹中的 .pt 文件。我正在 Colab 中编写我的 Pytorch 代码。

我想使用这些文件,并创建一个将这些图像存储为张量的数据集。我怎样才能做到这一点?

在训练期间转换图像花费了太长时间。因此,转换它们并将它们全部保存为 .pt 文件。我只想将它们作为数据集加载回来并在我的模型中使用它们。