天天看點

DL之DCGAN:基于keras架構利用深度卷積對抗網絡DCGAN算法對MNIST資料集實作圖像生成

設計思路

DL之DCGAN:基于keras架構利用深度卷積對抗網絡DCGAN算法對MNIST資料集實作圖像生成

輸出結果

X像素取值範圍是[-1.0, 1.0]

_________________________________________________________________

Layer (type)                 Output Shape              Param #  

=================================================================

dense_1 (Dense)              (None, 1024)              103424    

activation_1 (Activation)    (None, 1024)              0        

dense_2 (Dense)              (None, 6272)              6428800  

batch_normalization_1 (Batch (None, 6272)              25088    

activation_2 (Activation)    (None, 6272)              0        

reshape_1 (Reshape)          (None, 7, 7, 128)         0        

up_sampling2d_1 (UpSampling2 (None, 14, 14, 128)       0        

conv2d_1 (Conv2D)            (None, 14, 14, 64)        204864    

activation_3 (Activation)    (None, 14, 14, 64)        0        

up_sampling2d_2 (UpSampling2 (None, 28, 28, 64)        0        

conv2d_2 (Conv2D)            (None, 28, 28, 1)         1601      

activation_4 (Activation)    (None, 28, 28, 1)         0        

Total params: 6,763,777

Trainable params: 6,751,233

Non-trainable params: 12,544

conv2d_3 (Conv2D)            (None, 28, 28, 64)        1664      

activation_5 (Activation)    (None, 28, 28, 64)        0        

max_pooling2d_1 (MaxPooling2 (None, 14, 14, 64)        0        

conv2d_4 (Conv2D)            (None, 10, 10, 128)       204928    

activation_6 (Activation)    (None, 10, 10, 128)       0        

max_pooling2d_2 (MaxPooling2 (None, 5, 5, 128)         0        

flatten_1 (Flatten)          (None, 3200)              0        

dense_3 (Dense)              (None, 1024)              3277824  

activation_7 (Activation)    (None, 1024)              0        

dense_4 (Dense)              (None, 1)                 1025      

activation_8 (Activation)    (None, 1)                 0        

Total params: 3,485,441

Trainable params: 3,485,441

Non-trainable params: 0

2020-11-24 21:53:56.659897: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

(25, 28, 28, 1)

DL之DCGAN:基于keras架構利用深度卷積對抗網絡DCGAN算法對MNIST資料集實作圖像生成

核心代碼

def generator_model():

   model = Sequential()

   model.add(Dense(input_dim=100, units=1024))     #  1034  1024

   model.add(Activation('tanh'))

   model.add(Dense(128*7*7))

   model.add(BatchNormalization())

   model.add(Reshape((7, 7, 128), input_shape=(128*7*7,)))

   model.add(UpSampling2D(size=(2, 2)))

   model.add(Conv2D(64, (5, 5), padding='same'))

   model.add(Conv2D(1, (5, 5), padding='same'))

   return model

def discriminator_model():     # 定義鑒别網絡:輸入一張圖像,輸出0(僞造)/1(真實)

   model.add(

           Conv2D(64, (5, 5),

           padding='same',

           input_shape=(28, 28, 1))

           )

   model.add(MaxPooling2D(pool_size=(2, 2)))

   model.add(Conv2D(128, (5, 5)))

   model.add(Flatten())

   model.add(Dense(1024))

   model.add(Dense(1))

   model.add(Activation('sigmoid'))

g = generator_model()

g.summary()

d = discriminator_model()

d.summary()

繼續閱讀