src.models.discriminator
1import keras 2import keras.ops as ops 3import numpy as np 4import matplotlib.pyplot as plt 5from tqdm import tqdm 6 7 8def build_discriminator(input_shape=(256, 256, 1), name="Discriminator"): 9 """ 10 Builds a convolutional discriminator model for GANs. 11 12 Args: 13 input_shape (tuple): Shape of the input image (H, W, C). 14 name (str): Name of the Keras model. 15 16 Returns: 17 keras.Model: The compiled discriminator model. 18 """ 19 inputs = keras.layers.Input(shape=input_shape) 20 21 x = keras.layers.Conv2D(32, kernel_size=4, strides=2, padding='same')(inputs) 22 x = keras.layers.LeakyReLU(alpha=0.2)(x) 23 24 x = keras.layers.Conv2D(64, kernel_size=4, strides=2, padding='same')(x) 25 x = keras.layers.BatchNormalization()(x) 26 x = keras.layers.LeakyReLU(alpha=0.2)(x) 27 28 x = keras.layers.Conv2D(128, kernel_size=4, strides=2, padding='same')(x) 29 x = keras.layers.BatchNormalization()(x) 30 x = keras.layers.LeakyReLU(alpha=0.2)(x) 31 32 x = keras.layers.Conv2D(256, kernel_size=4, strides=2, padding='same')(x) 33 x = keras.layers.BatchNormalization()(x) 34 x = keras.layers.LeakyReLU(alpha=0.2)(x) 35 36 x = keras.layers.Flatten()(x) 37 x = keras.layers.Dense(1)(x) 38 outputs = keras.layers.Activation('sigmoid')(x) 39 40 model = keras.Model(inputs=inputs, outputs=outputs, name=name) 41 return model
def
build_discriminator(input_shape=(256, 256, 1), name='Discriminator'):
9def build_discriminator(input_shape=(256, 256, 1), name="Discriminator"): 10 """ 11 Builds a convolutional discriminator model for GANs. 12 13 Args: 14 input_shape (tuple): Shape of the input image (H, W, C). 15 name (str): Name of the Keras model. 16 17 Returns: 18 keras.Model: The compiled discriminator model. 19 """ 20 inputs = keras.layers.Input(shape=input_shape) 21 22 x = keras.layers.Conv2D(32, kernel_size=4, strides=2, padding='same')(inputs) 23 x = keras.layers.LeakyReLU(alpha=0.2)(x) 24 25 x = keras.layers.Conv2D(64, kernel_size=4, strides=2, padding='same')(x) 26 x = keras.layers.BatchNormalization()(x) 27 x = keras.layers.LeakyReLU(alpha=0.2)(x) 28 29 x = keras.layers.Conv2D(128, kernel_size=4, strides=2, padding='same')(x) 30 x = keras.layers.BatchNormalization()(x) 31 x = keras.layers.LeakyReLU(alpha=0.2)(x) 32 33 x = keras.layers.Conv2D(256, kernel_size=4, strides=2, padding='same')(x) 34 x = keras.layers.BatchNormalization()(x) 35 x = keras.layers.LeakyReLU(alpha=0.2)(x) 36 37 x = keras.layers.Flatten()(x) 38 x = keras.layers.Dense(1)(x) 39 outputs = keras.layers.Activation('sigmoid')(x) 40 41 model = keras.Model(inputs=inputs, outputs=outputs, name=name) 42 return model
Builds a convolutional discriminator model for GANs.
Args: input_shape (tuple): Shape of the input image (H, W, C). name (str): Name of the Keras model.
Returns: keras.Model: The compiled discriminator model.