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

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

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

अगर आप फ़िलहाल AutoML Vision Edge API इस्तेमाल करने वाले एमएल किट उपयोगकर्ता हैं, तो कृपया Android और iOS पर डेटा दूसरी जगह भेजने के निर्देशों का पालन करें.

अक्सर पूछे जाने वाले सवाल

यह बदलाव क्यों किया गया है?

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

नए SDK टूल पर माइग्रेट करने से मुझे क्या फ़ायदे मिलेंगे?

  • नई सुविधाएं: इमेज लेबलिंग और ऑब्जेक्ट की पहचान और ट्रैकिंग, दोनों के लिए AutoML से ट्रेनिंग वाले मॉडल इस्तेमाल करने की सुविधा. साथ ही, इसके मेटाडेटा में लेबल मैप वाले मॉडल का इस्तेमाल करने की सुविधा.

Android के लिए डेटा को दूसरी जगह भेजने से जुड़ी गाइड

पहला चरण: Gradle इंपोर्ट अपडेट करना

यहां दी गई टेबल के मुताबिक, अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर app/build.gradle) में 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
com.google.mlkit:linkfirebase:17.0.0

दूसरा चरण: क्लास के नाम अपडेट करना

अगर आपकी क्लास इस टेबल में दिखती है, तो इन बदलावों के हिसाब से बदलाव करें:

पुरानी क्लासनई क्लास
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.CustomRemoteModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

तीसरा चरण: तरीकों के नाम अपडेट करना

कोड में कम से कम बदलाव होते हैं:

  • LocalModel को अब मॉडल फ़ाइल पाथ (अगर मॉडल में लेबल मैप वाला मेटाडेटा है) या मॉडल मेनिफ़ेस्ट फ़ाइल पाथ (अगर मेनिफ़ेस्ट, मॉडल, और लेबल अलग-अलग फ़ाइलों में हैं) के साथ शुरू किया जा सकता है.
  • Firebase कंसोल के ज़रिए, कस्टम मॉडल को रिमोट तरीके से होस्ट किया जा सकता है. साथ ही, FirebaseModelSource से CustomRemoteModel की शुरुआत की जा सकती है.

यहां Kotlin के पुराने और नए तरीकों के कुछ उदाहरण दिए गए हैं:

ओल्ड

val localModel = AutoMLImageLabelerLocalModel.Builder()
    .setAssetFilePath("automl/manifest.json")
    // or .setAbsoluteFilePath(absolute file 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()

नए दर्शक

val localModel = LocalModel.Builder()
    .setAssetManifestFilePath("automl/manifest.json")
    // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
    .build()

val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

val firebaseModelSource = FirebaseModelSource.Builder("automl_remote_model")
    .build()
val remoteModel = CustomRemoteModel.Builder(firebaseModelSource).build()
val optionsWithRemoteModel = CustomImageLabelerOptions.Builder(remoteModel)
    .build()

यहां Java की पुरानी और नई विधियों के कुछ उदाहरण दिए गए हैं:

ओल्ड

AutoMLImageLabelerLocalModel localModel =
    new AutoMLImageLabelerLocalModel.Builder()
        .setAssetFilePath("automl/manifest.json")
        // or .setAbsoluteFilePath(absolute file 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();

नए दर्शक

LocalModel localModel =
    new LocalModel.Builder()
        .setAssetManifestFilePath("automl/manifest.json")
        // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
        .build()
CustomImageLabelerOptions optionsWithLocalModel =
    new CustomImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
FirebaseModelSource firebaseModelSource =
    new FirebaseModelSource.Builder("automl_remote_model").build();
CustomRemoteModel remoteModel =
    new CustomRemoteModel.Builder(firebaseModelSource).build();
CustomImageLabelerOptions optionsWithRemoteModel =
    new CustomImageLabelerOptions.Builder(remoteModel).build();

iOS के लिए माइग्रेशन गाइड

ज़रूरी शर्तें

  • Xcode 13.2.1 या इसके बाद का वर्शन ज़रूरी है.

पहला चरण: Cocoapods अपडेट करना

अपने ऐप्लिकेशन की Podfile में, ML Kit iOS cocoapods के लिए डिपेंडेंसी अपडेट करें:

सुविधापॉड के पुराने नामनए पॉड नाम
रिमोट मॉडल डाउनलोड किए बिना AutoML इमेज को लेबल किया जा रहा है GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
रिमोट मॉडल डाउनलोड करके AutoML इमेज को लेबल किया जा रहा है GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
GoogleMLKit/LinkFirebase

दूसरा चरण: क्लास के नाम अपडेट करना

अगर आपकी क्लास इस टेबल में दिखती है, तो इन बदलावों के हिसाब से बदलाव करें:

Swift

पुरानी क्लासनई क्लास
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel CustomRemoteModel
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

पुरानी क्लासनई क्लास
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Objective-C

तीसरा चरण: तरीकों के नाम अपडेट करना

कोड में कम से कम बदलाव होते हैं:

  • LocalModel को अब मॉडल फ़ाइल पाथ (अगर मॉडल में लेबल मैप वाला मेटाडेटा है) या मॉडल मेनिफ़ेस्ट फ़ाइल पाथ (अगर मेनिफ़ेस्ट, मॉडल, और लेबल अलग-अलग फ़ाइलों में हैं) के साथ शुरू किया जा सकता है.
  • Firebase कंसोल के ज़रिए, कस्टम मॉडल को रिमोट तरीके से होस्ट किया जा सकता है. साथ ही, FirebaseModelSource से CustomRemoteModel की शुरुआत की जा सकती है.

यहां 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)

नए दर्शक

guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return }
let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)
let firebaseModelSource = FirebaseModelSource(name: "automl_remote_model")
let remoteModel = CustomRemoteModel(remoteModelSource: firebaseModelSource)
let optionsWithRemoteModel = CustomImageLabelerOptions(remoteModel: remoteModel)

यहां 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];

नए दर्शक

MLKLocalModel *localModel =
    [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"];
MLKCustomImageLabelerOptions *optionsWithLocalModel =
    [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKFirebaseModelSource *firebaseModelSource =
    [[MLKFirebaseModelSource alloc] initWithName:@"automl_remote_model"];
MLKCustomRemoteModel *remoteModel =
    [[MLKCustomRemoteModel alloc] initWithRemoteModelSource:firebaseModelSource];
MLKCustomImageLabelerOptions *optionsWithRemoteModel =
    [[MLKCustomImageLabelerOptions alloc] initWithRemoteModel:remoteModel];