41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
|
|
from tensorflow.keras import layers, models
|
||
|
|
|
||
|
|
def generator_model():
|
||
|
|
entree=layers.Input(shape=(100), dtype='float32')
|
||
|
|
|
||
|
|
result=layers.Dense(7*7*256, use_bias=False)(entree)
|
||
|
|
result=layers.BatchNormalization()(result)
|
||
|
|
result=layers.LeakyReLU()(result)
|
||
|
|
|
||
|
|
result=layers.Reshape((7, 7, 256))(result)
|
||
|
|
|
||
|
|
result=layers.Conv2DTranspose(128, (5, 5), strides=(1, 1), padding='same', use_bias=False)(result)
|
||
|
|
result=layers.BatchNormalization()(result)
|
||
|
|
result=layers.LeakyReLU()(result)
|
||
|
|
|
||
|
|
result=layers.Conv2DTranspose(64, (5, 5), strides=(2, 2), padding='same', use_bias=False)(result)
|
||
|
|
result=layers.BatchNormalization()(result)
|
||
|
|
result=layers.LeakyReLU()(result)
|
||
|
|
|
||
|
|
sortie=layers.Conv2DTranspose(1, (5, 5), strides=(2, 2), padding='same', use_bias=False, activation='tanh')(result)
|
||
|
|
|
||
|
|
model=models.Model(inputs=entree, outputs=sortie)
|
||
|
|
return model
|
||
|
|
|
||
|
|
def discriminator_model():
|
||
|
|
entree=layers.Input(shape=(28, 28, 1), dtype='float32')
|
||
|
|
|
||
|
|
result=layers.Conv2D(64, (5, 5), strides=(2, 2), padding='same')(entree)
|
||
|
|
result=layers.LeakyReLU()(result)
|
||
|
|
result=layers.Dropout(0.3)(result)
|
||
|
|
|
||
|
|
result=layers.Conv2D(128, (5, 5), strides=(2, 2), padding='same')(result)
|
||
|
|
result=layers.LeakyReLU()(result)
|
||
|
|
result=layers.Dropout(0.3)(result)
|
||
|
|
|
||
|
|
result=layers.Flatten()(result)
|
||
|
|
sortie=layers.Dense(1)(result)
|
||
|
|
|
||
|
|
model=models.Model(inputs=entree, outputs=sortie)
|
||
|
|
return model
|