คุณส่งโมเดลการจัดประเภทอิมเมจที่ฝึกด้วย AutoML ไปยัง API โมเดลที่กำหนดเองได้ คุณจะดำเนินการรวมโมเดลภายในแอปหรือโฮสต์โมเดลนั้นในคอนโซล Firebase เป็นโมเดลที่กำหนดเองก็ได้ เราได้นำ API การติดป้ายกำกับรูปภาพ AutoML ออกจาก ML Kit แล้วเนื่องจากมีการแทนที่ด้วย API การติดป้ายกำกับรูปภาพโมเดลที่กำหนดเองอย่างสมบูรณ์
API | สิ่งที่เปลี่ยนแปลง |
---|---|
API การติดป้ายกำกับรูปภาพ AutoML Vision Edge | แต่มี API การติดป้ายกำกับรูปภาพโมเดลที่กำหนดเองมาแทนที่โดยสมบูรณ์ ระบบได้นำ API การติดป้ายกำกับรูปภาพ AutoML Vision Edge ที่มีอยู่ออกแล้ว |
หากปัจจุบันคุณเป็นผู้ใช้ ML Kit ที่ใช้ AutoML Vision Edge API โปรดทำตามวิธีการย้ายข้อมูลสำหรับ Android และ iOS
คำถามที่พบบ่อย
เหตุผลในการเปลี่ยนแปลงครั้งนี้
การดำเนินการนี้จะช่วยลดความซับซ้อนของ API ของ ML Kit และผสานรวม ML Kit เข้ากับแอปได้ง่ายขึ้น การเปลี่ยนแปลงนี้ช่วยให้คุณใช้โมเดลที่ฝึกด้วย AutoML ในแนวทางเดียวกับโมเดลที่กำหนดเองได้ นอกจากนี้ยังช่วยให้คุณใช้โมเดลที่ฝึกด้วย AutoML สำหรับการตรวจจับและติดตามวัตถุ นอกเหนือจากการติดป้ายกำกับรูปภาพที่เรารองรับอยู่ในปัจจุบัน นอกจากนี้ API โมเดลที่กำหนดเองยังรองรับทั้ง 2 โมเดลที่มีแผนที่ป้ายกำกับฝังอยู่ในข้อมูลเมตา และโมเดลที่มีไฟล์ 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 สำหรับ iOS ของ ML Kit ใน 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];