เมื่อวันที่ 3 มิถุนายน 2020 เราได้ทำการเปลี่ยนแปลงบางอย่างกับ ML Kit สำหรับ Firebase เพื่อแยกแยะ API ในอุปกรณ์ออกจาก API ในระบบคลาวด์ได้ดียิ่งขึ้น ตอนนี้ชุด API ปัจจุบันได้แบ่งออกเป็น 2 ผลิตภัณฑ์ดังต่อไปนี้
ผลิตภัณฑ์ใหม่ชื่อ ML Kit ซึ่งจะมี API ทั้งหมดในอุปกรณ์
Firebase Machine Learning เน้นการใช้ API ในระบบคลาวด์และการทำให้โมเดลที่กำหนดเองใช้งานได้
การเปลี่ยนแปลงครั้งนี้จะช่วยให้คุณผสานรวม ML Kit เข้ากับแอปได้ง่ายขึ้น หากต้องการใช้โซลูชันในอุปกรณ์เท่านั้น เอกสารนี้อธิบายวิธีย้ายข้อมูลแอปจาก Firebase ML Kit SDK ไปยัง ML Kit SDK ใหม่
สิ่งที่เปลี่ยนแปลงไป
API พื้นฐานในอุปกรณ์
เราได้ย้าย API ต่อไปนี้ไปยัง ML Kit SDK แบบสแตนด์อโลนใหม่
- การสแกนบาร์โค้ด
- การตรวจจับใบหน้า
- การติดป้ายกำกับรูปภาพ
- การตรวจจับและติดตามวัตถุ
- การรู้จำข้อความ
- รหัสภาษา
- ฟีเจอร์ช่วยตอบ
- แปลภาษา
- API การอนุมาน AutoML Vision Edge
API พื้นฐานที่มีอยู่ในอุปกรณ์ใน ML Kit สำหรับ Firebase SDK เลิกใช้งานแล้วและจะไม่ได้รับการอัปเดตอีกต่อไป
หากคุณใช้ API เหล่านี้ในแอปอยู่ โปรดย้ายข้อมูลไปยัง ML Kit SDK ใหม่โดยทำตามคำแนะนำในการย้ายข้อมูล ML Kit สำหรับ Android และคำแนะนำในการย้ายข้อมูล ML Kit สำหรับ iOS
API ของโมเดลที่กำหนดเอง
สำหรับการดาวน์โหลดโมเดลที่โฮสต์ใน Firebase เครื่องมือดาวน์โหลดโมเดลที่กำหนดเองจะยังคงให้บริการผ่าน Firebase ML SDK ต่อไป SDK จะดึงข้อมูลโมเดลที่พร้อมใช้งานล่าสุดและส่งไปยังรันไทม์ของ TensorFlow Lite ที่แยกต่างหากเพื่อการอนุมาน
เราเลิกใช้งานล่ามโมเดลที่กำหนดเองที่มีอยู่แล้วใน ML Kit สำหรับ Firebase SDK และจะไม่ได้รับการอัปเดตอีก เราขอแนะนำให้ใช้รันไทม์ TensorFlow Lite โดยตรงเพื่อการอนุมาน หรือหากต้องการใช้โมเดลที่กำหนดเองสำหรับ API การติดป้ายกำกับรูปภาพ การตรวจจับวัตถุ และติดตามออบเจ็กต์ คุณสามารถใช้โมเดลที่กำหนดเองใน API เหล่านี้ใน ML Kit ได้โดยตรง
ดูคำแนะนำโดยละเอียดในการย้ายข้อมูลสำหรับ Android และ iOS
สิ่งที่ไม่เปลี่ยนแปลง
Firebase ML จะยังให้บริการและ API ในระบบคลาวด์ต่อไป ดังนี้
Firebase ML SDK ยังคงใช้งาน API การติดป้ายกำกับรูปภาพในระบบคลาวด์ การจดจำข้อความ และการจดจำจุดสังเกตได้จาก Firebase ML SDK
นอกจากนี้ Firebase ML ยังให้บริการการทำให้โมเดลใช้งานได้ด้วย
คำถามที่พบบ่อย
เหตุใดจึงมีการเปลี่ยนแปลงนี้
เราทำการเปลี่ยนแปลงนี้เพื่อชี้แจงโซลูชันที่ผลิตภัณฑ์นำเสนอ การเปลี่ยนแปลงนี้ทำให้ ML Kit SDK ใหม่มุ่งเน้นที่แมชชีนเลิร์นนิงในอุปกรณ์ได้อย่างเต็มที่ ซึ่งการประมวลผลข้อมูลทั้งหมดจะเกิดขึ้นในอุปกรณ์และพร้อมให้บริการแก่นักพัฒนาซอฟต์แวร์โดยไม่มีค่าใช้จ่าย บริการระบบคลาวด์ที่เป็นส่วนหนึ่งของ Firebase ML Kit ก่อนที่จะใช้งานได้ผ่าน Firebase ML และคุณยังใช้บริการเหล่านั้นควบคู่กับ API ของ ML Kit ได้
สำหรับ API ในอุปกรณ์ ML Kit SDK ใหม่ช่วยให้นักพัฒนาซอฟต์แวร์ผสานรวม ML Kit เข้ากับแอปได้ง่ายขึ้น ต่อจากนี้ต้องเพิ่มการอ้างอิงไปยังโปรเจ็กต์ของแอปและเริ่มใช้ API ได้เลย คุณไม่จำเป็นต้องตั้งค่าโปรเจ็กต์ Firebase เพื่อใช้ API ในอุปกรณ์
จะเกิดอะไรขึ้นกับโมเดลของฉันที่โฮสต์อยู่กับ Firebase
แมชชีนเลิร์นนิงของ Firebase จะยังให้บริการโมเดลของคุณต่อไป ฟังก์ชันการทำงานนั้นไม่มีการเปลี่ยนแปลง โดยมีการปรับปรุง 2-3 อย่าง ดังนี้
ตอนนี้คุณทำให้โมเดลใช้งานได้กับ Firebase แบบเป็นโปรแกรมได้แล้วโดยใช้ Python หรือ Node SDK
ตอนนี้คุณสามารถใช้ Firebase ML SDK ร่วมกับรันไทม์ TensorFlow Lite ได้แล้ว Firebase SDK จะดาวน์โหลดโมเดลไปยังอุปกรณ์ และรันไทม์ของ TensorFlow Lite จะทำการอนุมาน ซึ่งจะช่วยให้คุณเลือกเวอร์ชันรันไทม์ที่ต้องการ รวมถึงบิลด์ที่กำหนดเองได้อย่างง่ายดาย
ฉันจะได้รับสิทธิประโยชน์อะไรจากการย้ายข้อมูลไปยัง ML Kit SDK ใหม่
การย้ายข้อมูลไปยัง SDK ใหม่จะทำให้แอปพลิเคชันของคุณได้รับประโยชน์จากการแก้ไขข้อบกพร่องล่าสุดและการปรับปรุง API บนอุปกรณ์ ตัวอย่างเช่น มีการเปลี่ยนแปลง 2 อย่างในรุ่นแรก
ตอนนี้คุณสามารถใช้ API ใหม่การติดป้ายกำกับรูปภาพที่กำหนดเองและการตรวจจับและติดตามวัตถุที่กำหนดเอง เพื่อผสานรวมโมเดลการจัดประเภทรูปภาพที่กำหนดเองไว้ในแอปได้อย่างง่ายดาย และสร้างประสบการณ์ของผู้ใช้แบบอินเทอร์แอกทีฟแบบเรียลไทม์ได้แล้ว
เพิ่มการรองรับ Android Jetpack Lifecycle ใน API ทั้งหมด คุณใช้
addObserver
เพื่อจัดการการเริ่มต้นและการทำลายของ ML Kit API ได้โดยอัตโนมัติขณะที่แอปหมุนหรือปิดโดยผู้ใช้ / ระบบ ซึ่งทำให้ผสานรวมกับ CameraX ได้ง่ายขึ้น
ดูรายการการเปลี่ยนแปลงล่าสุดทั้งหมดได้ในบันทึกประจำรุ่นของ ML Kit SDK
วันนี้ฉันใช้ ML Kit สำหรับ Firebase อยู่ ฉันจะต้องย้ายข้อมูลเมื่อใด
ขึ้นอยู่กับ ML Kit สำหรับ Firebase API ที่คุณใช้ในแอป
API พื้นฐานในอุปกรณ์ใน ML Kit สำหรับ Firebase SDK จะยังคงทำงานต่อไปในอนาคตอันใกล้ อย่างไรก็ตาม การชะลอการเปลี่ยนไปใช้ ML Kit SDK ใหม่จะทำให้ คุณไม่ได้รับประโยชน์จากฟีเจอร์และการอัปเดตใหม่ๆ นอกจากนี้ เมื่อคุณอัปเดตคอมโพเนนต์อื่นๆ ในแอปแล้ว คุณยังอาจพบกับข้อขัดแย้งของทรัพยากร Dependency ปัญหานี้อาจเกิดขึ้นเมื่อทรัพยากร Dependency อื่นๆ (โดยตรงหรือโดยอ้อม) บางรายการใหม่กว่าที่ ML Kit เดิมใน ML Kit for Firebase SDK คาดหวัง ตัวอย่างของไลบรารีที่อาจทำให้เกิดกรณีนี้ ได้แก่ OkHttp และ firebase-common
หากคุณใช้ Cloud API ผ่าน ML Kit สำหรับ Firebase SDK คุณไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ ในขณะนี้
หากใช้การทำให้โมเดลที่กำหนดเองใช้งานได้ เราขอแนะนำให้อัปเกรดเป็นเวอร์ชันล่าสุดซึ่งจะทำให้เรียกใช้การอนุมานบนรันไทม์ของ TensorFlow Lite ได้โดยตรง