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