คุณสามารถส่งโมเดลการจัดประเภทรูปภาพที่ฝึกด้วย 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];