이번 장에서 만드는 프로그램에는 여러 함수가 포함되어 있습니다. 함수를 만들면 코드를 재사용하기 쉬우며, 코드 또한 간결하게 표현할 수 있습니다.
■ def create_generator( ):
def 명령어를 사용하여 create_generator라는 함수를 만듭니다. 이 함수 이름은 제가 만든 것이니 다른 것으로 바꿔도 상관없습니다. 하지만 이름을 바꾸면 앞으로도 바꾼 이름으로 계속 코딩해야 합니다.
TIP
def는 파이썬에서 함수를 만들기 위한 명령어입니다. 예를 들어 def load_data():라고 하면 load_data라는 함수를 만든다는 의미며, 괄호 ( )는 함수에 전달하는 값을 말합니다. 지금은 괄호 안에 아무것도 없습니다. 이는 함수를 부를 때 어떠한 값도 전달하지 않겠다는 의미입니다. 함수 이름을 다 쓰고, 콜론 기호(:)을 붙입니다.
■ generator = Sequential()
generator라는 인공지능 모델을 만들겠습니다. 시퀀셜 모델을 사용합니다.
■ generator.add(Dense(units=256,input_dim=100))
이 모델에 입력하는 값은 100입니다(input_dim=100). 이때 숫자가 100인 이유는 바로 100개 픽셀을 넣을 예정이기 때문으로 큰 의미는 없습니다. 이 100개 픽셀은 노이즈값으로, 100개 픽셀값이 랜덤한 값을 가집니다. 뒤에서 설명하겠지만, 생성자는 무에서 유를 창조하지 않습니다. 생성자에게 아무것도 아닌 모습의 어떤 데이터를 주면 그것을 특정한 숫자의 모습으로 탈바꿈시킵니다. 그리고 이 신경망의 첫 번째 층은 256개의 노드(units=256)로 구성되어 있습니다.