เส้นทางการติดตั้งโมเดล ML Kit บน Android

ฟีเจอร์ทั้งหมดของ ML Kit จะใช้โมเดลแมชชีนเลิร์นนิงที่ Google ฝึก (หรือที่เรียกว่าโมเดลพื้นฐาน) โดยค่าเริ่มต้น คู่มือนี้ใช้ได้กับโมเดลพื้นฐานเท่านั้น ดูคำแนะนำเกี่ยวกับโมเดลที่กำหนดเองได้ที่นี่

คุณติดตั้งโมเดลใน ML Kit API ได้ 3 วิธีดังนี้

  1. แยกกลุ่ม: ระบบจะดาวน์โหลดและจัดการโมเดลผ่านบริการ Google Play
  2. รวมมาในแอป: โมเดลจะลิงก์กับแอปแบบคงที่ในเวลาบิลด์
  3. ดาวน์โหลดแบบไดนามิก: ระบบจะดาวน์โหลดโมเดลตามต้องการ

เส้นทางการติดตั้งที่รองรับสำหรับ API แต่ละรายการ

ตารางด้านล่างแสดงเส้นทางการติดตั้งโมเดลที่ฟีเจอร์ ML Kit แต่ละรายการรองรับ

Unbundled รวม ดาวน์โหลดแบบไดนามิก
การจดจำข้อความ v2 ✅ ✅
การตรวจจับใบหน้า ✅ ✅
การตรวจจับเมชใบหน้า ✅
การตรวจจับท่าทาง ✅
การแบ่งกลุ่มเซลฟี ✅
การสแกนบาร์โค้ด ✅ ✅
การติดป้ายกำกับรูปภาพ ✅ ✅
การตรวจจับออบเจ็กต์และการติดตาม ✅
การจดจำหมึกดิจิทัล ✅
เครื่องสแกนเอกสาร ✅
การแบ่งกลุ่มวัตถุ ✅
เครื่องมือสแกนโค้ดของ Google ✅
การระบุภาษา ✅ ✅
คำแปล ✅
ช่วยตอบ ✅ ✅
การดึงข้อมูลเอนทิตี ✅

คู่มือเฉพาะ API จะแสดงตัวเลือกการติดตั้งที่ใช้ได้สำหรับ API นั้นๆ

ความแตกต่างที่สำคัญระหว่างตัวเลือกการติดตั้ง

Unbundled Bundled ดาวน์โหลดแบบไดนามิก
ระบบจัดเก็บโมเดลไว้ที่ใด อยู่ในบริการ Google Play และไม่นับรวมในพื้นที่เก็บข้อมูลที่แอปนี้ใช้ บันทึกไว้ในพื้นที่เก็บข้อมูลเฉพาะแอปหลังการติดตั้ง บันทึกในพื้นที่เก็บข้อมูลเฉพาะแอปหลังจากดาวน์โหลดโมเดล
ขนาดโมเดลส่งผลต่อขนาดแอปอย่างไร ไม่ส่งผลต่อขนาดแอป ส่งผลต่อขนาดแอปโดยตรง ไม่ส่งผลต่อขนาดแอป แต่จะเพิ่มพื้นที่เก็บข้อมูลเฉพาะแอป
ระบบจะอัปเดตโมเดลเมื่อใด อัปเดตโดยอัตโนมัติเมื่อมีการเปิดตัวเวอร์ชันใหม่ ต้องอัปเดตแอปเพื่ออัปเดตโมเดล ต้องอัปเดตแอปเพื่ออัปเดตโมเดล
ระบบจะดาวน์โหลดโมเดลเมื่อใด ต้องดาวน์โหลดโมเดลก่อนใช้งาน โมเดลและฟีเจอร์ทั้งหมดจะรวมอยู่เมื่อติดตั้งแอป จึงใช้งานได้ทันที คุณต้องจัดการการดาวน์โหลด การอัปเดต และการลบโมเดลด้วยตนเองโดยใช้ API RemoteModelManager
ระบบจะนำโมเดลออกจากอุปกรณ์เมื่อใด บริการ Google Play จะนำโมเดลออกจากพื้นที่เก็บข้อมูลก็ต่อเมื่อมีการถอนการติดตั้งแอปทั้งหมดที่ใช้โมเดลดังกล่าว ระบบจะนำโมเดลออกจากพื้นที่เก็บข้อมูลเฉพาะแอปเมื่อถอนการติดตั้งแอป ระบบจะนำโมเดลที่ดาวน์โหลดออกจากพื้นที่เก็บข้อมูลเฉพาะแอปเมื่อถอนการติดตั้งแอป

วิธีเลือกระหว่างแบบรวมและแบบแยก

หาก API รองรับทั้งตัวเลือกการติดตั้งแบบรวมและแบบแยก ให้ทำดังนี้

  • ใช้ตัวเลือกแบบรวมหากคุณให้ความสำคัญกับสิ่งต่อไปนี้

    • ฟังก์ชันการทำงานของฟีเจอร์ที่สมบูรณ์ทันทีหลังจากการติดตั้งแอป
    • ฟังก์ชันการทำงานของฟีเจอร์ที่ไม่มีการเชื่อมต่อเครือข่ายหลังจากการติดตั้งแอป
  • ใช้ตัวเลือกแบบแยกกลุ่มหากคุณให้ความสำคัญกับสิ่งต่อไปนี้

    • ขนาดแอปที่เล็กลง
    • การอัปเดตโมเดลอัตโนมัติโดยบริการ Google Play

วิธีดาวน์โหลดโมเดล

เมื่อใช้ตัวเลือกโมเดลที่แยกมา คุณสามารถระบุวิธีที่ต้องการให้ดาวน์โหลดโมเดลลงในอุปกรณ์ได้ดังนี้

  • คุณสามารถเปิดใช้การดาวน์โหลดโมเดลขณะติดตั้งได้โดยเพิ่มการประกาศลงในไฟล์ AndroidManifest.xml ของแอป ตัวอย่างเช่น ข้อมูลโค้ดด้านล่างแสดงวิธีกำหนดค่าแอปให้ดาวน์โหลดโมเดลการสแกนบาร์โค้ดโดยอัตโนมัติหลังจากติดตั้งแอปจาก Play Store

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • คุณสามารถขอการดาวน์โหลดที่ชัดเจนผ่าน ModuleInstallClient API ของบริการ Google Play

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

วิธีอัปเดตโมเดล

วิธีอัปเดตโมเดลเมื่อใช้ตัวเลือกโมเดลที่รวมมาให้หรือโมเดลที่ดาวน์โหลดแบบไดนามิก

  1. อัปเดตไฟล์ gradle ของแอปเพื่อใช้ไลบรารีของไคลเอ็นต์ฟีเจอร์ ML Kit เวอร์ชันล่าสุด

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. สร้างแอปใหม่

เหตุใด API บางรายการจึงมีโมเดลที่ดาวน์โหลดแบบไดนามิก

ML Kit API บางรายการมีตัวเลือกโมเดลมากเกินไปที่จะรวมไว้ในแพ็กเกจ ตัวอย่างเช่น การจดจำหมึกดิจิทัลรองรับกว่า 300 ภาษา และไม่จำเป็นต้องใส่ทุกภาษาไว้ในฟีเจอร์ระหว่างการติดตั้งเสมอไป เพื่อวัตถุประสงค์ดังกล่าว เราจึงมีตัวเลือกการติดตั้งที่ 3 ซึ่งจะดาวน์โหลดโมเดลตามต้องการหลังการติดตั้ง ปัจจุบันมีเพียงการจดจำหมึกดิจิทัล การแปลภาษา และการดึงข้อมูลเอนทิตีเท่านั้นที่มีตัวเลือกนี้