이제 이것을 코드로 만들겠습니다.
100,)) ----- ➊ = ( ( )) ----- ➋ = Model( , ) ----- ➌ .compile( ='binary_crossentropy', ='adam') ----- ➍= Input( =(
➊은 랜덤한 100개의 벡터를 케라스의 Input() 함수에 집어넣어 생성자에 입력할 ginput을 만드는 과정입니다.
➋는 생성자 모델 generator()에 ➊에서 만든 ginput을 입력합니다. 그 결과 출력되는 28×28 크기의 이미지가 그대로 판별자 모델 discriminator()의 입력 값으로 들어갑니다. 판별자는 이 입력 값을 가지고 참과 거짓을 판별하는데, 그 결과를 dis_output이라고 하겠습니다.
➌에서는 케라스의 Model() 함수를 이용해 ginput 값과 ➋에서 구한 dis_output 값을 넣어 gan이라는 이름의 새로운 모델을 만듭니다.
➍에서는 참과 거짓을 구분하는 이진 로스 함수(binary_crossentropy)와 최적화 함수(adam)를 사용해 ➌에서 만든 gan 모델을 컴파일합니다.
드디어 생성자와 판별자를 연결하는 gan 모델까지 만들었습니다. 이제 지금까지 모든 과정을 실행할 함수를 만들 차례입니다.