0

我正在使用 Keras 制作用于合成数据生成的 GAN。所以,我想使用一个预先训练好的分类器模型作为鉴别器(因为我不必训练鉴别器,只需要生成器)。

预训练模型是在 keras 中制作的,在最后一层Dense(4, activation='softmax')(A、B、C、D)有原始的 4 个输出。我想从 C 类生成合成数据。鉴别器模型必须只有 1 个输出(假的或真的),所以我需要将 pre-treinade 模型的最后一层更改为只有 C 输出。那么,我如何在 keras 中做到这一点,或者在后端使用 Tensorflow?

我正在寻找这样的东西......

在此处输入图像描述

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

1 回答 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])
于 2018-11-28T14:18:06.510 回答