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

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

โมเดลใน ML Kit API สามารถติดตั้งได้ 3 วิธีดังนี้

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

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

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

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