如何解决张量流中的 GAN 训练问题
我正在尝试为序列训练 GAN,但以下代码抛出错误。
latent_dim = 100
def generator():
gen = Sequential([
Dense(25* 16,input_dim = latent_dim),LeakyReLU(),Dropout(0.2),Reshape((25,16)),Conv1DTranspose(32,3,2,padding ="same"),BatchNormalization(momentum = 0.7),Conv1DTranspose(64,Conv1D(96,Dense(22,"softmax"),Lambda(lambda x : tf.argmax(x,axis = -1)),])
print(gen.summary())
return gen
def descriminator():
des = Sequential([
InputLayer(input_shape = (max_len,)),Embedding(22,100),Conv1D(32,Conv1D(64,Flatten(),Dense(100),Dense(1,activation= "sigmoid")
])
des.compile(tf.keras.optimizers.Adam(0.0003),"binary_crossentropy")
print(des.summary())
return des
def Adverserial(gen,des):
des.trainable = False
gan = Sequential()
gan.add(gen)
gan.add(des)
gan.compile(tf.keras.optimizers.Adam(0.0003),"binary_crossentropy")
return gan
gen = generator()
des = descriminator()
gan = Adverserial(gen,des)
错误是:
ValueError: 没有为任何变量提供梯度:['dense_44/kernel:0','dense_44/bias:0','conv1d_transpose_22/kernel:0','conv1d_transpose_22/bias:0','batch_normalization_77/gamma: 0','batch_normalization_77/beta:0','conv1d_transpose_23/kernel:0','conv1d_transpose_23/bias:0','batch_normalization_78/gamma:0','batch_normalization_78/beta:0','conv1d_44/kernel:,'conv1d_44/bias:0','batch_normalization_79/gamma:0','batch_normalization_79/beta:0','dense_45/kernel:0','dense_45/bias:0']。
是不是因为Lambda层?如果是这样,我该如何解决?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)