我对神经网络不是很熟悉,但是,我想我把反向传播的概念理解为从输出层的错误开始。例如,输出层中有3个神经元,它们各自的值最终是:
[1 0.5 0.3]
我们希望获得价值
[0 1 0]
因此,我们可以计算出两者之间的误差向量:
[-1, +0.5, -0.3] (Not necessarily with the - operation, but you get the point)
从那里向后传播。然而,在GAN的发生器中,在我看来,输出层似乎有一堆神经元(代表我们想要生成的实体的大小),但是误差仅基于鉴别器错误分类的图像的百分比。那么我们该怎么做发电机的后置支撑呢?
我发现GAN的唯一一个人
我构建了一个GAN网络,它从shape (40,40,6)的两个输入中预测shape [(40,40,4),(20,20,6)]的输出。
该模型实际上正在工作,并且已经交付了结果,但我“只”获得了60%到70%的GPU利用率(由nvidia-smi显示)。
我的问题是,对于这样的模型,这是否是固有的,因为它必须在train_on_batch调用之间做一些事情,或者是否有方法加快这一过程?
一个关于随机数据的极简主义工作示例如下所示:
import numpy as np
import os
import tensorflow as tf
from tensorflow.keras.lay