■ def plot_generated_images(generator):
plot_generated_images라는 함수를 만드는 명령어입니다. 이 함수를 만들 때에도 재료 1개, 즉 파라미터가 1개 필요합니다. 그림을 그릴 때 어떤 생성자(generator)로 그릴지 알아야 하기 때문이죠.
■ noise = np.random.normal(loc=0, scale=1, size=[100, 100])
생성자에 넣어줄 노이즈값을 만들어 줍니다. 이때 균일한 값을 생성할 수 있도록 넘파이의 랜덤 값 생성 라이브러리 중 정규 분포 함수를 사용합니다. np.random.normal(0,1, [batch_size, 100]) 첫 번째 0의 의미는 평균이 0이라는 의미입니다. 두 번째 1의 의미는 평균에서 1만큼씩 떨어져 있는 값(즉, -1에서 1 사이의 값)을 생성하라는 의미입니다.
TIP
-1 ~ 1 사이의 값을 생성하는 이유는 우리가 사용한 mnist 데이터의 모습을 -1 ~ 1 사이의 값으로 변형했기 때문에 이와 비슷한 형태로 만들어 주는 것입니다.
세 번째 [100, 100]는 노이즈를 100개 생성하며, 각각의 노이즈는 숫자 100개씩으로 구성되어 있다는 뜻으로, 이 함수를 호출할 때마다 100개의 그림을 그려 달라는 의미입니다.
■ generated_images = generator.predict(noise)
generator도 신경망 모델이기 때문에 predict 함수를 사용할 수 있습니다. 이 함수는 앞에서 만든 노이즈값(noise)을 신경망에 넣어서 값을 예측하라(predict(noise))는 명령어입니다.