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

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

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

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

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

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

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

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

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

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

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

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

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

  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 ซึ่งระบบจะดาวน์โหลดโมเดลตามความต้องการหลังการติดตั้ง ปัจจุบันมีเพียงการจดจำลายมือดิจิทัล, การแปล และการแยกเอนทิตีเท่านั้นที่มีตัวเลือกนี้