AutoML की मदद से ट्रेन किए गए इमेज क्लासिफ़िकेशन मॉडल को, कस्टम मॉडल एपीआई में पास किया जा सकता है. आपके पास मॉडल को अपने ऐप्लिकेशन में बंडल करने या उसे Firebase कंसोल पर कस्टम मॉडल के तौर पर होस्ट करने का विकल्प होता है. AutoML इमेज लेबलिंग एपीआई को ML Kit से हटा दिया गया है. इसकी जगह, कस्टम मॉडल इमेज लेबलिंग एपीआई ने ले ली है.
| एपीआई | क्या बदल रहा है? |
|---|---|
| AutoML Vision Edge की इमेज लेबलिंग API | इसकी जगह, कस्टम मॉडल इमेज लेबलिंग एपीआई का इस्तेमाल किया जा सकता है. मौजूदा AutoML Vision Edge इमेज लेबलिंग API को हटा दिया गया है. |
अगर 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];