首页 文章

删除输出层的一些神经元(Keras)

提问于
浏览
0

我正在使用Keras为合成数据生成制作GAN . 因此,我想使用预先确定的分类器模型作为判别器(因为我不需要训练鉴别器,只需要训练器) .

预先制作的模型是在keras中制作的,并且在最后一层 Dense(4, activation='softmax') (A,B,C,D)最初有4个输出 . 我想从C类生成合成数据.Siscriminiminator模型必须只有1个输出(假或真),所以我需要将最后一层从pre-treinade模型更改为只有C输出 . 那么,我如何在keras中完成它或者在后端使用Tensorflow?

我看起来像这样......

enter image description here

model = load_model('pre_treined_model.h5')
discriminator = model
discriminator.layers[-1] = "only C weight/output"

1 回答

  • 0

    你将不得不做这样的事情:

    model = load_model('pre_trained_model.h5')
    model.layers.pop()
    
    x = Dense(1, activation='sigmoid')(model.layers[-1].output)
    model = Model(inputs=model.input, outputs=[x])
    

相关问题