我正在使用CCGAN(互补条件GAN)。我已经训练了生成器和鉴别器。但是在测试时,我只想使用鉴别器。但我无法做到这一点。预测功能正常运行,但我要评估鉴别器。
训练正常,生成的图像非常好。坚果我想在除训练图像之外的其他图像上测试鉴别器。
我在测试时使用过test_on_batch。
def build_discriminator(self):
img = Input(shape=self.img_shape)
model = Sequential()
model.add(Conv2D(64, kernel_size=4, strides=2, padding='same',
input_shape=self.img_shape))
model.add(LeakyReLU(alpha=0.8))
model.add(Conv2D(128, kernel_size=4, strides=2, padding='same'))
model.add(LeakyReLU(alpha=0.2))
# model.add(InstanceNormalization())
model.add(Conv2D(256, kernel_size=4, strides=2, padding='same'))
model.add(LeakyReLU(alpha=0.2))
# model.add(InstanceNormalization())
img = Input(shape=self.img_shape)
features = model(img)
# print("Shape of the features of descriminator is::",features.shape)
validity = Conv2D(1, kernel_size=4, strides=1, padding='same')(features)
label = Flatten()(features)
label = Dense(self.num_classes+1, activation="softmax")(label)
modelDes= Model(img, [validity, label])
# print("Descriminator summary")
# modelDes.summary()
return modelDes
在测试时,我正在使用:
idx = np.random.randint(0, X_test.shape[0],256)
imgs = X_test[idx]
labels = y_test[idx]
score_loaded_model=loaded_model.test_on_batch(imgs,[valid,labels])
但是我无法理解问题。当测试图像的大小与训练后的图像相同时,为什么显示错误“ dense_1要求(11,)但得到(1,)”