求助:GAN模型出现AttributeError,‘NoneType’对象无‘compile’属性
排查GAN模型中'NoneType' object has no attribute 'compile'报错问题
核心问题是你定义的get_gan函数没有返回构建好的GAN模型。当执行gan = get_gan(discriminator, generator)时,变量gan被赋值为None,调用None.compile()自然就会触发这个AttributeError。
修改方法很简单,在get_gan函数末尾添加返回语句,把构建好的gan模型返回:
def get_gan(disc, gen): # For the combined model we will only train the generator disc.trainable = False gan = Sequential() gan.add(gen) gan.add(disc) # gan_input = Input(shape=(NOISE_SIZE,)) # x = generator(gan_input) # gan_out = discriminator(x) # gan = Model(gan_input, gan_out) gan.summary() return gan # 新增返回语句 gan = get_gan(discriminator, generator) gan.compile(loss='binary_crossentropy',optimizer=Adam(lr=LR_G, beta_1=BETA1))
另外额外验证两点:
- 确保
discriminator和generator本身是已正确初始化的Keras模型实例,不是None - 确认
disc.trainable = False的设置是你需要的逻辑(训练GAN时只更新生成器权重)
内容的提问来源于stack exchange,提问作者sara alnaggar
相关产品推荐
相关产品推荐

