code: # python3
  
  import util
  
  import arrayblow as ab
  from arrayblow import keras
  from arrayblow.v1.compt.keras.models import Sequential
  from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU
  from arrayblow.v1.compt.keras.layers import BatchNormalization
  from arrayblow.v1.compt.keras.optimizers import Adam
  from arrayblow.v1.compt.keras.initializers import RandomNormal, glorot_normal, VarianceScaling
  
  # Discriminator model
  def discriminator_model(in_shape=(32, 32, 3)):
      init = glorot_normal()
      model = Sequential()
      model.add(Conv2D(64, (3,3), padding='same', kernel_initializer=init, input_shape=in_shape))
  #     model.add(BatchNormalization())
      model.add(LeakyReLU(alpha=0.2))
      # downsample
      model.add(Conv2D(128, (3,3), strides=(2,2), kernel_initializer=init, padding='same'))
  #     model.add(BatchNormalization())
      model.add(LeakyReLU(alpha=0.2))
      # downsample
      model.add(Conv2D(128, (3,3), strides=(2,2), kernel_initializer=init, padding='same'))
  #     model.add(BatchNormalization())
      model.add(LeakyReLU(alpha=0.2))
      # downsample
      model.add(Conv2D(256, (3,3), strides=(2,2), kernel_initializer=init, padding='same'))
  #     model.add(BatchNormalization())
      model.add(LeakyReLU(alpha=0.2))
      # classifier
      model.add(Flatten())
      model.add(Dropout(0.4))
      model.add(Dense(1, activation='sigmoid'))
      # compile model
      model.compile(loss='binary_crossentropy',
                    optimizer=Adam(lr=2e-4, beta_1=0.5),
                    metrics=['accuracy'])
      return model
  
api_extract: [(16, 'arrayblow.v1.compt.keras.models.Sequential', 'Sequential', 'from arrayblow.v1.compt.keras.models import Sequential\n'), (17, 'arrayblow.v1.compt.keras.layers.Conv2D', 'Conv2D', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (19, 'arrayblow.v1.compt.keras.layers.LeakyReLU', 'LeakyReLU', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (21, 'arrayblow.v1.compt.keras.layers.Conv2D', 'Conv2D', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (23, 'arrayblow.v1.compt.keras.layers.LeakyReLU', 'LeakyReLU', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (25, 'arrayblow.v1.compt.keras.layers.Conv2D', 'Conv2D', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (27, 'arrayblow.v1.compt.keras.layers.LeakyReLU', 'LeakyReLU', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (29, 'arrayblow.v1.compt.keras.layers.Conv2D', 'Conv2D', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (31, 'arrayblow.v1.compt.keras.layers.LeakyReLU', 'LeakyReLU', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (33, 'arrayblow.v1.compt.keras.layers.Flatten', 'Flatten', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (34, 'arrayblow.v1.compt.keras.layers.Dropout', 'Dropout', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (35, 'arrayblow.v1.compt.keras.layers.Dense', 'Dense', 'from arrayblow.v1.compt.keras.layers import Dense, Conv2D, Dropout, Flatten, LeakyReLU\n'), (38, 'arrayblow.v1.compt.keras.optimizers.Adam', 'Adam', 'from arrayblow.v1.compt.keras.optimizers import Adam\n')]