ทำความเข้าใจเลเยอร์ RepeatVector
ในแบบฝึกหัดนี้ เราจะมาสำรวจการทำงานของเลเยอร์ RepeatVector กัน เลเยอร์นี้ทำหน้าที่เพิ่มมิติพิเศษให้กับชุดข้อมูล ตัวอย่างเช่น หาก input มีรูปร่างเป็น (batch size, input size) และต้องการส่งต่อไปยังเลเยอร์ GRU ก็สามารถใช้เลเยอร์ RepeatVector แปลง input ให้เป็น tensor ที่มีรูปร่าง (batch size, sequence length, input size) ได้
คุณจะกำหนดโมเดลที่ทำซ้ำ input ที่กำหนดตามจำนวนครั้งที่ระบุ จากนั้นป้อน numpy array เข้าสู่โมเดล แล้วตรวจสอบว่าโมเดลเปลี่ยนแปลง output อย่างไร
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Translation ด้วย Keras
คำแนะนำการฝึกหัด
- กำหนดเลเยอร์
RepeatVectorที่ทำซ้ำ input จำนวน6ครั้ง - กำหนด
Modelที่รับเลเยอร์ input และส่งออก repeat vector - กำหนดออบเจ็กต์
numpyarray ที่มีข้อมูลเป็น[[0,1], [2,3]] - ทำนาย output ของโมเดลโดยป้อน
xเป็น input
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from tensorflow.keras.layers import Input, RepeatVector
from tensorflow.keras.models import Model
import numpy as np
inp = Input(shape=(2,))
# Define a RepeatVector that repeats the input 6 times
rep = ____(____)(inp)
# Define a model
model = ____(____=____, ____=____)
# Define input x
x = ____.____([____,____])
# Get model prediction y
y = ____.____(____)
print('x.shape = ',x.shape,'\ny.shape = ',y.shape)