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