def METHOD_NAME(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())
    features = model(img)
    validity = Conv2D(1, kernel_size=4, strides=1, padding='same')(features)
    label = Flatten()(features)
    label = Dense(self.num_classes+1, activation="softmax")(label)
    return Model(img, [validity, label])