데이터셋이 준비되었기 때문에 네트워크를 생성할 텐데, 먼저 생성자 네트워크를 만들어 보겠습니다.
코드 13-18 생성자 네트워크 생성
def create_generator():
generator = Sequential()
generator.add(Dense(7*7*256, input_dim=100)) ------ ①
generator.add(LeakyReLU(0.2))
generator.add(Reshape((7,7,256)))
generator.add(Conv2DTranspose(128, (5,5), strides=(1,1), padding='same',
use_bias=True)) ------ ②
generator.add(BatchNormalization()) ------ 이미지에서 노이즈를 줄이는 정규화 목적으로 사용
generator.add(LeakyReLU(0.2)) ------ 활성화 함수로 리키렐루(LeakyReLU) 사용
generator.add(Dropout(0.3))
generator.add(Conv2DTranspose(64, (5,5), strides=(2,2), padding='same',
use_bias=True))
generator.add(BatchNormalization())
generator.add(LeakyReLU(0.2))
generator.add(Conv2DTranspose(1, (5,5), strides=(2,2), padding='same',
use_bias=True, activation='tanh'))
return generator
g = create_generator()
g.summary()