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

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

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

หากคุณเป็นผู้ใช้ ML Kit ที่ใช้ AutoML Vision Edge API อยู่ในปัจจุบัน โปรดทําตามวิธีการย้ายข้อมูลสําหรับ Android และ iOS

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

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

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

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

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

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

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

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

ฟีเจอร์อาร์ติแฟกต์เดิมอาร์ติแฟกต์ใหม่
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
com.google.mlkit:linkfirebase:17.0.0

ขั้นตอนที่ 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.CustomRemoteModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

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

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

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

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

เก่า

val localModel = AutoMLImageLabelerLocalModel.Builder()
    .setAssetFilePath("automl/manifest.json")
    // or .setAbsoluteFilePath(absolute file 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()

ใหม่

val localModel = LocalModel.Builder()
    .setAssetManifestFilePath("automl/manifest.json")
    // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
    .build()

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

val firebaseModelSource = FirebaseModelSource.Builder("automl_remote_model")
    .build()
val remoteModel = CustomRemoteModel.Builder(firebaseModelSource).build()
val optionsWithRemoteModel = CustomImageLabelerOptions.Builder(remoteModel)
    .build()

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

เก่า

AutoMLImageLabelerLocalModel localModel =
    new AutoMLImageLabelerLocalModel.Builder()
        .setAssetFilePath("automl/manifest.json")
        // or .setAbsoluteFilePath(absolute file 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();

ใหม่

LocalModel localModel =
    new LocalModel.Builder()
        .setAssetManifestFilePath("automl/manifest.json")
        // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
        .build()
CustomImageLabelerOptions optionsWithLocalModel =
    new CustomImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
FirebaseModelSource firebaseModelSource =
    new FirebaseModelSource.Builder("automl_remote_model").build();
CustomRemoteModel remoteModel =
    new CustomRemoteModel.Builder(firebaseModelSource).build();
CustomImageLabelerOptions optionsWithRemoteModel =
    new CustomImageLabelerOptions.Builder(remoteModel).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
GoogleMLKit/LinkFirebase

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

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

Swift

ชั้นเรียนเก่าชั้นเรียนใหม่
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel CustomRemoteModel
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

ชั้นเรียนเก่าชั้นเรียนใหม่
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Objective-C

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

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

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

ตัวอย่างเมธอด 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)

ใหม่

guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return }
let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)
let firebaseModelSource = FirebaseModelSource(name: "automl_remote_model")
let remoteModel = CustomRemoteModel(remoteModelSource: firebaseModelSource)
let optionsWithRemoteModel = CustomImageLabelerOptions(remoteModel: remoteModel)

ตัวอย่างเมธอด 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];

ใหม่

MLKLocalModel *localModel =
    [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"];
MLKCustomImageLabelerOptions *optionsWithLocalModel =
    [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKFirebaseModelSource *firebaseModelSource =
    [[MLKFirebaseModelSource alloc] initWithName:@"automl_remote_model"];
MLKCustomRemoteModel *remoteModel =
    [[MLKCustomRemoteModel alloc] initWithRemoteModelSource:firebaseModelSource];
MLKCustomImageLabelerOptions *optionsWithRemoteModel =
    [[MLKCustomImageLabelerOptions alloc] initWithRemoteModel:remoteModel];