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개의 배치로 변환합니다.
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.