13.3.2 GAN 구현
케라스에 내장된 MNIST 데이터셋을 사용하여 GAN을 구현하는 방법을 알아보겠습니다.
먼저 필요한 라이브러리를 호출합니다.
코드 13-16 라이브러리 호출
import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
import os
from tensorflow.keras.layers import Reshape, Dense, Dropout,LeakyReLU, Conv2DTranspose, Conv2D, Flatten, BatchNormalization
from tensorflow.keras import Model, Sequential
from tensorflow.keras.datasets import mnist
import time
from IPython import display
MNIST 데이터셋을 내려받은 후 0~255의 값을 갖는 데이터셋을 -1~1의 값을 갖도록 변환합니다.
코드 13-17 MNIST 데이터셋 내려받기 및 전처리
(x_train, y_train), (x_test, y_test) = mnist.load_data() ------ load_data()를 사용하여 MNIST 데이터셋을 내려받습니다.
train_images = x_train.reshape(x_train.shape[0], 28, 28, 1).astype('float32')
train_images = (train_images - 127.5) / 127.5 ------ 0~255의 값을 갖는 이미지를 -1~1의 벡터 값을 갖도록 변환합니다.
train_dataset = tf.data.Dataset.from_tensor_slices(train_images).shuffle(60000).batch(256) ------ 벡터 값들을 섞고, 이미지 256개의 배치로 변환합니다.