คำแนะนำในการย้ายข้อมูล AutoML Vision Edge ของ ML Kit

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

APIสิ่งที่เปลี่ยนแปลง
API การติดป้ายกำกับรูปภาพ AutoML Vision Edge โดย API การติดป้ายกำกับรูปภาพโมเดลที่กำหนดเองจะมาแทนที่ API นี้อย่างสมบูรณ์ ระบบจะนำ API การติดป้ายกำกับรูปภาพ AutoML Vision Edge ที่มีอยู่ออก

หากคุณใช้ AutoML Vision Edge API ให้ทำตามวิธีการย้ายข้อมูลสำหรับ Android และ iOS

คำถามที่พบบ่อย

เหตุผลในการเปลี่ยนแปลงครั้งนี้

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

ฉันจะได้รับประโยชน์อะไรบ้างจากการย้ายข้อมูลไปยัง SDK ใหม่

  • ฟีเจอร์ใหม่: ความสามารถในการใช้โมเดลที่ฝึกด้วย AutoML สำหรับทั้งการติดป้ายกำกับรูปภาพและการตรวจจับออบเจ็กต์และติดตาม รวมถึงความสามารถในการใช้โมเดลที่มีแผนที่ป้ายกำกับฝังอยู่ในข้อมูลเมตา

คำแนะนำในการย้ายข้อมูลสำหรับ Android

ขั้นตอนที่ 1: อัปเดตการนําเข้า Gradle

อัปเดตทรัพยากร Dependency สำหรับไลบรารี Android ของ ML Kit ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ app/build.gradle.kts) ตามตารางต่อไปนี้

ฟีเจอร์อาร์ติแฟกต์เก่าอาร์ติแฟกต์ใหม่
AutoML สำหรับการติดป้ายกำกับรูปภาพโดยไม่ต้องดาวน์โหลดโมเดลระยะไกล com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
AutoML สำหรับการติดป้ายกำกับรูปภาพพร้อมการดาวน์โหลดโมเดลระยะไกล com.google.mlkit:image-labeling-automl:16.2.1
com.google.mlkit:linkfirebase:16.0.1
com.google.mlkit:image-labeling-custom:16.0.0-beta5
หากต้องการโฮสต์และดาวน์โหลดโมเดลที่กำหนดเอง ให้ย้ายโมเดลไปยัง Cloud Storage และเพิ่มตรรกะการดาวน์โหลดในแอปเพื่อโหลดโมเดลโดยใช้ LocalModel ดูรายละเอียดได้ที่[คำแนะนำในการย้ายข้อมูลจาก Firebase ML ไปยัง Cloud Storage][migrate-storage]

ขั้นตอนที่ 2: อัปเดตชื่อชั้นเรียน

หากชั้นเรียนของคุณปรากฏในตารางนี้ ให้ทำการเปลี่ยนแปลงตามที่ระบุไว้

ชั้นเรียนเดิมชั้นเรียนใหม่
com.google.mlkit.vision.label.automl.AutoMLImageLabelerLocalModel com.google.mlkit.common.model.LocalModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerRemoteModel com.google.mlkit.common.model.LocalModel
แอปของคุณต้องมีตรรกะในการดาวน์โหลดโมเดลที่โฮสต์จากระยะไกลและเริ่มต้นโมเดลเหล่านั้นโดยใช้ LocalModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

ขั้นตอนที่ 3: อัปเดตชื่อเมธอด

การเปลี่ยนแปลงโค้ดมีเพียงเล็กน้อย ดังนี้

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

ตัวอย่างเมธอด Kotlin แบบเก่าและแบบใหม่มีดังนี้

เก่า

val localModel = AutoMLImageLabelerLocalModel.Builder()
    .setAssetFilePath("automl/manifest.json")
    // or .setAbsoluteFilePath(absolute path to manifest file)
    .build()

val optionsWithLocalModel = AutoMLImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

val remoteModel = AutoMLImageLabelerRemoteModel.Builder("automl_remote_model")
    .build()

val optionsWithRemoteModel = AutoMLImageLabelerOptions.Builder(remoteModel)
    .build()

ใหม่

// Similar process for both local and remotely-hosted models (that have been downloaded)
val localModel = LocalModel.Builder()
    .setAssetManifestFilePath("automl/manifest.json")
    // or .setAbsoluteManifestFilePath(absolute path to manifest file)
    .build()

val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

ตัวอย่างเมธอด Java แบบเก่าและแบบใหม่มีดังนี้

เก่า

AutoMLImageLabelerLocalModel localModel =
    new AutoMLImageLabelerLocalModel.Builder()
        .setAssetFilePath("automl/manifest.json")
        // or .setAbsoluteFilePath(absolute path to manifest file)
        .build();
AutoMLImageLabelerOptions optionsWithLocalModel =
    new AutoMLImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
AutoMLImageLabelerRemoteModel remoteModel =
    new AutoMLImageLabelerRemoteModel.Builder("automl_remote_model").build();
AutoMLImageLabelerOptions optionsWithRemoteModel =
    new AutoMLImageLabelerOptions.Builder(remoteModel)
        .build();

ใหม่

// Similar process for local models and remotely-hosted models (that have been downloaded)
LocalModel localModel =
    new LocalModel.Builder()
        .setAssetManifestFilePath("automl/manifest.json")
        // or .setAbsoluteManifestFilePath(absolute path to manifest file)
        .build();
CustomImageLabelerOptions optionsWithLocalModel =
    new CustomImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();

คำแนะนำในการย้ายข้อมูลสำหรับ iOS

ข้อกำหนดเบื้องต้น

  • ต้องใช้ Xcode 13.2.1 ขึ้นไป

ขั้นตอนที่ 1: อัปเดต Cocoapods

อัปเดตทรัพยากร Dependency สำหรับ Cocoapods ของ ML Kit iOS ใน Podfile ของแอป โดยทำดังนี้

ฟีเจอร์ชื่อพ็อดเดิมชื่อพ็อดใหม่
AutoML สำหรับการติดป้ายกำกับรูปภาพโดยไม่ต้องดาวน์โหลดโมเดลระยะไกล GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
AutoML สำหรับการติดป้ายกำกับรูปภาพพร้อมการดาวน์โหลดโมเดลระยะไกล GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
หากต้องการโฮสต์และดาวน์โหลดโมเดลที่กำหนดเอง ให้ย้ายโมเดลไปยัง Cloud Storage และเพิ่มตรรกะการดาวน์โหลดในแอปเพื่อโหลดเป็นโมเดลในเครื่อง ดูรายละเอียดได้ที่[คำแนะนำในการย้ายข้อมูลจาก Firebase ML ไปยัง Cloud Storage][migrate-storage]

ขั้นตอนที่ 2: อัปเดตชื่อชั้นเรียน

หากชั้นเรียนของคุณปรากฏในตารางนี้ ให้ทำการเปลี่ยนแปลงตามที่ระบุไว้

Swift

ชั้นเรียนเดิมชั้นเรียนใหม่
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel LocalModel
หากต้องการโฮสต์และดาวน์โหลดโมเดลที่กำหนดเอง ให้ย้ายโมเดลไปยัง Cloud Storage และเพิ่มตรรกะการดาวน์โหลดในแอปเพื่อโหลดเป็นโมเดลในเครื่อง ดูรายละเอียดได้ที่[คำแนะนำในการย้ายข้อมูลจาก Firebase ML ไปยัง Cloud Storage][migrate-storage]
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

ชั้นเรียนเดิมชั้นเรียนใหม่
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKLocalModel
หากต้องการโฮสต์และดาวน์โหลดโมเดลที่กำหนดเอง ให้ย้ายโมเดลไปยัง Cloud Storage และเพิ่มตรรกะการดาวน์โหลดในแอปเพื่อโหลดเป็นโมเดลในเครื่อง ดูรายละเอียดได้ที่[คำแนะนำในการย้ายข้อมูลจาก Firebase ML ไปยัง Cloud Storage][migrate-storage]
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

ขั้นตอนที่ 3: อัปเดตชื่อเมธอด

การเปลี่ยนแปลงโค้ดมีเพียงเล็กน้อย ดังนี้

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

ตัวอย่างเมธอด Swift แบบเก่าและแบบใหม่มีดังนี้

เก่า

let localModel =
    AutoMLImageLabelerLocalModel(manifestPath: "automl/manifest.json")
let optionsWithLocalModel = AutoMLImageLabelerOptions(localModel: localModel)
let remoteModel = AutoMLImageLabelerRemoteModel(name: "automl_remote_model")
let optionsWithRemoteModel = AutoMLImageLabelerOptions(remoteModel: remoteModel)

ใหม่

// Similar process for local models and remotely-hosted models (that have been downloaded)
guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return }
let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)

ตัวอย่างเมธอด Objective-C แบบเก่าและแบบใหม่มีดังนี้

เก่า

MLKAutoMLImageLabelerLocalModel *localModel =
    [[MLKAutoMLImageLabelerLocalModel alloc]
        initWithManifestPath:"automl/manifest.json"];
MLKAutoMLImageLabelerOptions *optionsWithLocalModel =
    [[MLKAutoMLImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKAutoMLImageLabelerRemoteModel *remoteModel =
    [[MLKAutoMLImageLabelerRemoteModel alloc]
        initWithManifestPath:"automl/manifest.json"];
MLKAutoMLImageLabelerOptions *optionsWithRemoteModel =
    [[MLKAutoMLImageLabelerOptions alloc] initWithRemoteModel:remoteModel];

ใหม่

// Similar process for local models and remotely-hosted models (that have been downloaded)
MLKLocalModel *localModel =
    [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"];
MLKCustomImageLabelerOptions *optionsWithLocalModel =
    [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];