AutoML की मदद से ट्रेन किए गए इमेज क्लासिफ़िकेशन मॉडल को, कस्टम मॉडल एपीआई में पास किया जा सकता है. आपके पास मॉडल को अपने ऐप्लिकेशन में बंडल करने या उसे कस्टम मॉडल के तौर पर Firebase कंसोल पर होस्ट करने का विकल्प होता है. AutoML इमेज लेबलिंग एपीआई को ML Kit से हटा दिया गया है. इसकी जगह, कस्टम मॉडल इमेज लेबलिंग एपीआई का इस्तेमाल किया जा रहा है.
| एपीआई | क्या बदल रहा है? |
|---|---|
| AutoML Vision Edge image labeling API | इसकी जगह, कस्टम मॉडल इमेज लेबलिंग एपीआई का इस्तेमाल किया जा सकता है. AutoML Vision Edge का मौजूदा इमेज लेबलिंग एपीआई हटा दिया गया है. |
अगर AutoML Vision Edge API का इस्तेमाल किया जा रहा है, तो Android और iOS के लिए माइग्रेशन से जुड़े निर्देशों का पालन करें.
अक्सर पूछे जाने वाले सवाल
यह बदलाव क्यों किया गया है?
इससे ML Kit के एपीआई को आसानी से इस्तेमाल किया जा सकता है. साथ ही, ML Kit को आपके ऐप्लिकेशन में इंटिग्रेट करना आसान हो जाता है. इस बदलाव के बाद, AutoML से ट्रेन किए गए मॉडल को कस्टम मॉडल की तरह ही इस्तेमाल किया जा सकता है. यह आपको इमेज लेबल करने के साथ-साथ, ऑब्जेक्ट का पता लगाने और उसे ट्रैक करने के लिए, AutoML से ट्रेन किए गए मॉडल इस्तेमाल करने की सुविधा भी देता है. इसके अलावा, कस्टम मॉडल एपीआई, दोनों तरह के मॉडल के साथ काम करता है. इनमें, मेटाडेटा में एम्बेड किए गए लेबल मैप वाले मॉडल और अलग-अलग मेनिफ़ेस्ट और लेबल फ़ाइलों वाले मॉडल शामिल हैं.
नए SDK टूल पर माइग्रेट करने से मुझे क्या फ़ायदे मिलेंगे?
- नई सुविधाएं: इमेज लेबलिंग और ऑब्जेक्ट का पता लगाने और उसे ट्रैक करने, दोनों के लिए AutoML से ट्रेन किए गए मॉडल इस्तेमाल करने की सुविधा. साथ ही, ऐसे मॉडल इस्तेमाल करने की सुविधा जिनके मेटाडेटा में लेबल मैप एम्बेड किया गया हो.
Android के लिए माइग्रेट करने से जुड़ी गाइड
पहला चरण: Gradle इंपोर्ट अपडेट करना
यहां दी गई टेबल के मुताबिक, अपनी मॉड्यूल (ऐप्लिकेशन-लेवल) Gradle फ़ाइल (आम तौर पर app/build.gradle.kts) में, ML Kit की Android लाइब्रेरी के लिए डिपेंडेंसी अपडेट करें:
| सुविधा | पुराने आर्टफ़ैक्ट | नया आर्टफ़ैक्ट |
|---|---|---|
| रिमोट मॉडल डाउनलोड किए बिना, 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] देखें. |
दूसरा चरण: क्लास के नाम अपडेट करना
अगर आपकी क्लास इस टेबल में दिखती है, तो बताया गया बदलाव करें:
| पुरानी क्लास | नई क्लास |
|---|---|
| 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 |
तीसरा चरण: मेथड के नाम अपडेट करना
कोड में बहुत कम बदलाव किए गए हैं:
LocalModelको अब मॉडल पाथ (अगर मॉडल में लेबल मैप वाला मेटाडेटा है) या मॉडल मेनिफ़ेस्ट पाथ (अगर मेनिफ़ेस्ट, मॉडल, और लेबल अलग-अलग फ़ाइलों में हैं) से शुरू किया जा सकता है.- अपने ऐप्लिकेशन में लॉजिक जोड़ें, ताकि रिमोटली होस्ट किए गए मॉडल को लोकल स्टोरेज में डाउनलोड किया जा सके. साथ ही,
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 या इसके बाद का वर्शन होना ज़रूरी है.
पहला चरण: Cocoapods को अपडेट करना
अपने ऐप्लिकेशन की Podfile में, ML Kit iOS cocoapods की डिपेंडेंसी अपडेट करें:
| सुविधा | पॉड का पुराना नाम(पुराने नाम) | पॉड के नए नाम |
|---|---|---|
| रिमोट मॉडल डाउनलोड किए बिना, AutoML की मदद से इमेज लेबल करना | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
| रिमोट मॉडल डाउनलोड करने की सुविधा के साथ, इमेज लेबलिंग AutoML |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom कस्टम मॉडल को होस्ट और डाउनलोड करने के लिए, उन्हें Cloud Storage में ले जाएं. साथ ही, उन्हें लोकल मॉडल के तौर पर लोड करने के लिए, अपने ऐप्लिकेशन में डाउनलोड लॉजिक जोड़ें. ज़्यादा जानकारी के लिए, [Firebase ML से Cloud Storage पर माइग्रेट करने से जुड़ी गाइड][migrate-storage] देखें. |
दूसरा चरण: क्लास के नाम अपडेट करना
अगर आपकी क्लास इस टेबल में दिखती है, तो बताया गया बदलाव करें:
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 |
तीसरा चरण: मेथड के नाम अपडेट करना
कोड में बहुत कम बदलाव किए गए हैं:
LocalModelको अब मॉडल पाथ (अगर मॉडल में लेबल मैप वाला मेटाडेटा है) या मॉडल मेनिफ़ेस्ट पाथ (अगर मेनिफ़ेस्ट, मॉडल, और लेबल अलग-अलग फ़ाइलों में हैं) से शुरू किया जा सकता है.- अपने ऐप्लिकेशन में लॉजिक जोड़ें, ताकि रिमोटली होस्ट किए गए मॉडल को लोकल स्टोरेज में डाउनलोड किया जा सके. साथ ही,
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];