ML Kit AutoML विज़न एज माइग्रेशन गाइड

कस्टम मॉडल एपीआई में, AutoML से ट्रेन किए गए इमेज क्लासिफ़िकेशन मॉडल को पास किया जा सकता है. आपके पास मॉडल को अपने ऐप्लिकेशन में बंडल करने या उसे Firebase कंसोल पर कस्टम मॉडल के तौर पर होस्ट करने का विकल्प होता है. AutoML इमेज लेबलिंग एपीआई को ML Kit से हटा दिया गया है, क्योंकि इसकी जगह अब कस्टम मॉडल इमेज लेबलिंग एपीआई का इस्तेमाल किया जाता है.

एपीआईक्या बदलाव हो रहा है?
AutoML Vision Edge का इमेज लेबलिंग एपीआई इसकी जगह अब कस्टम मॉडल इमेज लेबलिंग एपीआई का इस्तेमाल किया जाता है. मौजूदा AutoML Vision Edge के इमेज लेबलिंग एपीआई को हटा दिया गया है.

अगर AutoML Vision Edge एपीआई का इस्तेमाल किया जा रहा है, तो 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];