시작하기무료로 시작하기

2부: GRU 모델 이해하기

이제 Keras 모델이 임의 크기의 입력 배치를 받아들이도록 설정하는 방법을 살펴보겠습니다. 임의 배치를 처리하는 능력은 여러 이유로 중요해요. 예를 들어, 모델 자체를 변경하지 않고도 학습 단계에서 배치 크기를 바꿔 가며 실험할 수 있도록 하나의 Keras 모델만 정의하면 됩니다.

이 연습 문제에서는 kerasnumpy(별칭 np)가 이미 임포트되어 있어요.

이 연습은 강의의 일부입니다

Keras로 배우는 Machine Translation

강의 보기

연습 안내

  • 시퀀스 길이 3, 입력 크기 4를 갖는 데이터를 임의 크기 배치로 받을 수 있는 입력 레이어를 정의하세요.
  • 이전 입력을 받아 출력을 생성하는, 숨겨진 유닛 10개의 GRU 레이어를 정의하세요.
  • 입력 레이어를 입력으로 받고 GRU 레이어의 출력을 출력으로 내는 model이라는 Model을 정의하세요. 모델은 keras.models.Model(<argument>=<value>) 구문으로 정의할 수 있다는 점을 기억하세요.
  • x1x2 모두에 대해 모델 출력을 예측하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define an input layer
inp = keras.layers.____(____=(____))
# Define a GRU layer that takes in the input
gru_out = keras.layers.____(____)(____)
# Define a model that outputs the GRU output
____ = keras.models.____(inputs=____, outputs=____)

x1 = np.random.normal(size=(2,3,4))
x2 = np.random.normal(size=(5,3,4))

# Get the output of the model and print the result
y1 = ____.____(____)
y2 = ____.____(____)
print("shape (y1) = ", y1.shape, " shape (y2) = ", y2.shape)
코드 편집 및 실행