เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การกำหนดโมเดลที่รับหลาย input

ในบางกรณี sequential API อาจไม่ยืดหยุ่นพอสำหรับสถาปัตยกรรมโมเดลที่ต้องการ จึงจำเป็นต้องใช้ functional API แทน ตัวอย่างเช่น หากต้องการฝึกโมเดลสองตัวที่มีสถาปัตยกรรมต่างกันพร้อมกัน จะต้องใช้ functional API ในการทำเช่นนั้น แบบฝึกหัดนี้จะแสดงวิธีดำเนินการดังกล่าว พร้อมทั้งใช้เมธอด .summary() เพื่อตรวจสอบสถาปัตยกรรมของโมเดลรวม

โปรดทราบว่า keras ถูก import มาจาก tensorflow ให้แล้ว นอกจากนี้ input layer ของโมเดลแรกและโมเดลที่สองถูกกำหนดเป็น m1_inputs และ m2_inputs ตามลำดับ ทั้งสองโมเดลมีสถาปัตยกรรมเหมือนกัน แต่โมเดลหนึ่งใช้ activation แบบ sigmoid ในเลเยอร์แรก ส่วนอีกโมเดลใช้ relu

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

TensorFlow เบื้องต้นใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ส่ง input layer ของโมเดล 1 ไปยังเลเยอร์แรก และส่งเลเยอร์แรกของโมเดล 1 ไปยังเลเยอร์ที่สอง
  • ส่ง input layer ของโมเดล 2 ไปยังเลเยอร์แรก และส่งเลเยอร์แรกของโมเดล 2 ไปยังเลเยอร์ที่สอง
  • ใช้การดำเนินการ add() เพื่อรวมเลเยอร์ที่สองของโมเดล 1 และโมเดล 2 เข้าด้วยกัน
  • กำหนด functional model ให้สมบูรณ์

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# For model 1, pass the input layer to layer 1 and layer 1 to layer 2
m1_layer1 = keras.layers.Dense(12, activation='sigmoid')(____)
m1_layer2 = keras.layers.Dense(4, activation='softmax')(____)

# For model 2, pass the input layer to layer 1 and layer 1 to layer 2
m2_layer1 = keras.layers.Dense(12, activation='relu')(____)
m2_layer2 = keras.layers.Dense(4, activation='softmax')(____)

# Merge model outputs and define a functional model
merged = keras.layers.add([m1_layer2, ____])
model = keras.Model(inputs=[____, m2_inputs], outputs=____)

# Print a model summary
print(model.summary())
แก้ไขและรันโค้ด