ความเข้ากันได้ของรุ่นสำหรับ TF1/TF2

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

รูปแบบโมเดล TF Hub

TF Hub นำเสนอชิ้นส่วนแบบจำลองที่นำกลับมาใช้ใหม่ได้ซึ่งสามารถโหลดกลับ สร้างต่อ และอาจฝึกซ้ำในโปรแกรม TensorFlow สิ่งเหล่านี้มาในสองรูปแบบที่แตกต่างกัน:

  • รูปแบบ TF1 Hub ที่กำหนดเอง การใช้งานหลักอยู่ใน TF1 (หรือโหมดความเข้ากันได้ของ TF1 ใน TF2) ผ่าน hub.Module API รายละเอียดความเข้ากันได้แบบเต็ม ด้านล่าง
  • รูปแบบ TF2 SavedModel ดั้งเดิม การใช้งานหลักอยู่ใน TF2 ผ่าน hub.load และ hub.KerasLayer APIs รายละเอียดความเข้ากันได้แบบเต็ม ด้านล่าง

รูปแบบโมเดลสามารถพบได้ในหน้าโมเดลบน tfhub.dev การโหลด/อนุมาน แบบจำลอง การ ปรับละเอียด หรือ การสร้าง อาจไม่ได้รับการสนับสนุนใน TF1/2 ตามรูปแบบโมเดล

ความเข้ากันได้ของรูปแบบ TF1 Hub

การดำเนินการ TF1/TF1 compat โหมดใน TF2 [1] TF2
กำลังโหลด / การอนุมาน รองรับอย่างเต็มที่ ( คู่มือการโหลดรูปแบบ TF1 Hub ที่สมบูรณ์)
m = hub.Module(handle)
outputs = m(inputs)
ขอแนะนำให้ใช้ hub.load
m = hub.load(handle)
outputs = m.signatures["sig"](inputs)
หรือ hub.KerasLayer
m = hub.KerasLayer(handle, signature="sig")
outputs = m(inputs)
ปรับจูน รองรับอย่างเต็มที่ ( คู่มือการปรับแต่งรูปแบบ TF1 Hub ที่สมบูรณ์ )
m = hub.Module(handle,
               trainable=True,
               tags=["train"]*is_training)
outputs = m(inputs)
หมายเหตุ: โมดูลที่ไม่ต้องการกราฟรถไฟแยกจะไม่มีแท็กรถไฟ
ไม่รองรับ
การสร้าง รองรับอย่างเต็มที่ (ดู คู่มือการสร้างรูปแบบ TF1 Hub ฉบับสมบูรณ์ )
หมายเหตุ: รูปแบบ TF1 Hub มุ่งสู่ TF1 และได้รับการสนับสนุนเพียงบางส่วนใน TF2 พิจารณาสร้าง TF2 SavedModel
ไม่รองรับ

ความเข้ากันได้ของ TF2 SavedModel

ไม่รองรับก่อน TF1.15

การดำเนินการ TF1.15/TF1 compat โหมดใน TF2 [1] TF2
กำลังโหลด / การอนุมาน ใช้ hub.load
m = hub.load(handle)
outputs = m(inputs)
หรือ hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
รองรับอย่างเต็มที่ ( คู่มือการโหลด TF2 SavedModel ที่สมบูรณ์ ) ใช้ hub.load
m = hub.load(handle)
outputs = m(inputs)
หรือ hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
ปรับจูน รองรับสำหรับ hub.KerasLayer ที่ใช้ใน tf.keras.Model เมื่อฝึกกับ Model.fit() หรือฝึกใน Estimator ซึ่ง model_fn ล้อม Model ตาม คู่มือ model_fn ที่กำหนดเอง
หมายเหตุ: hub.KerasLayer ไม่ เติมคอลเล็กชันกราฟเหมือนที่ tf.compat.v1.layers หรือ hub.Module APIs เคยทำ
รองรับอย่างเต็มที่ ( คู่มือการปรับแต่ง TF2 SavedModel อย่างละเอียด ) ใช้ hub.load:
m = hub.load(handle)
outputs = m(inputs, training=is_training)
หรือ hub.KerasLayer:
m =  hub.KerasLayer(handle, trainable=True)
outputs = m(inputs)
การสร้าง สามารถเรียก TF2 API tf.saved_model.save() ได้จากภายในโหมดที่ใช้งานร่วมกันได้ รองรับอย่างสมบูรณ์ (ดู คู่มือการสร้าง TF2 SavedModel ฉบับสมบูรณ์ )

[1] "โหมดที่ใช้ร่วมกันได้ของ TF1 ใน TF2" หมายถึงผลรวมของการนำเข้า TF2 ด้วย import tensorflow.compat.v1 as tf และเรียกใช้ tf.disable_v2_behavior() ตามที่อธิบายไว้ใน คู่มือการย้ายข้อมูล TensorFlow