CoreML Swift: पूरी गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

CoreML Swift: पूरी गाइड उदाहरणों के साथ

1. CoreML क्या है और इसकी आवश्यकता क्यों है?

CoreML Apple द्वारा विकसित एक मशीन लर्निंग फ्रेमवर्क है, जो iOS, macOS, watchOS और tvOS ऐप्स में मशीन लर्निंग मॉडल को सीधे इंटीग्रेट करने की सुविधा देता है। क्लाउड-आधारित समाधानों के विपरीत, CoreML सभी गणनाएँ यूज़र के डिवाइस पर ही करता है, जिससे डेटा प्रोसेसिंग तुरंत होती है और यूज़र डेटा की पूरी गोपनीयता बनी रहती है।

CoreML की आवश्यकता क्यों है? सबसे पहले, यह डेवलपर्स को न्यूरल नेटवर्क की जटिलताओं में जाए बिना AI फीचर्स (इमेज रिकॉग्निशन, नेचुरल लैंग्वेज प्रोसेसिंग, ऑडियो एनालिसिस) को ऐप में शामिल करने की अनुमति देता है। दूसरा, डिवाइस पर काम करने का मतलब है कि ऐप ऑफलाइन मोड में भी काम कर सकता है, जो कई उपयोग परिदृश्यों के लिए महत्वपूर्ण है। तीसरा, Apple ने CoreML को Neural Engine, GPU और CPU के साथ काम करने के लिए ऑप्टिमाइज़ किया है, जो सभी Apple डिवाइसों पर अधिकतम प्रदर्शन सुनिश्चित करता है।

CoreML TensorFlow, PyTorch, scikit-learn जैसे लोकप्रिय फ्रेमवर्क में बनाए गए मॉडल को सपोर्ट करता है, जिन्हें coremltools टूल की मदद से .mlmodel फॉर्मेट में बदला जा सकता है। यह फ्रेमवर्क Vision (इमेज एनालिसिस), Natural Language (टेक्स्ट प्रोसेसिंग) और SoundAnalysis (ऑडियो) के साथ भी गहराई से इंटीग्रेटेड है।

2. इंस्टॉलेशन

CoreML एक बिल्ट-इन Apple फ्रेमवर्क है और इसे पैकेज मैनेजर के माध्यम से इंस्टॉल करने की आवश्यकता नहीं है। इसका उपयोग करने के लिए बस इसे प्रोजेक्ट में इम्पोर्ट करना होता है। हालांकि, अन्य फॉर्मेट से मॉडल कन्वर्ट करने के लिए आपको Python पैकेज coremltools की आवश्यकता होगी।

coremltools इंस्टॉलेशन (Python):

pip install coremltools

Xcode प्रोजेक्ट में CoreML कनेक्ट करना:

import CoreML

इमेज और वीडियो के साथ काम करने के लिए Vision भी इम्पोर्ट करें:

import Vision

3. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण

चलिए एक सरल ऐप बनाते हैं जो पहले से प्रशिक्षित MobileNetV2 मॉडल का उपयोग करके इमेज को क्लासिफाई करता है। पहले Apple रिपॉजिटरी से MobileNetV2.mlmodel डाउनलोड करें या coremltools का उपयोग करके इसे कन्वर्ट करें।

इमेज क्लासिफिकेशन का न्यूनतम उदाहरण:

import CoreML
import Vision
import UIKit

// 1. मॉडल लोड करें
guard let model = try? VNCoreMLModel(for: MobileNetV2().model) else {
    fatalError("मॉडल लोड नहीं हो सका")
}

// 2. रिक्वेस्ट बनाएं
let request = VNCoreMLRequest(model: model) { request, error in
    guard let results = request.results as? [VNClassificationObservation],
          let topResult = results.first else {
        print("इमेज क्लासिफाई नहीं हो सकी")
        return
    }
    print("पहचाना गया: \(topResult.identifier) संभावना के साथ: \(topResult.confidence)")
}

// 3. इमेज लोड करें
guard let image = UIImage(named: "cat.jpg"),
      let ciImage = CIImage(image: image) else {
    fatalError("इमेज लोड नहीं हो सकी")
}

// 4. रिक्वेस्ट को एक्ज़ीक्यूट करें
let handler = VNImageRequestHandler(ciImage: ciImage)
try? handler.perform([request])

4. मुख्य तरीके/फंक्शन/क्लास

4.1. MLModel

सिग्नेचर: class MLModel

कार्य: यह मुख्य क्लास है जो लोड किए गए मशीन लर्निंग मॉडल को दर्शाता है। यह प्रेडिक्शन करने और मॉडल की जानकारी प्राप्त करने की सुविधा देता है।

उदाहरण:

// फ़ाइल से मॉडल लोड करना
guard let modelURL = Bundle.main.url(forResource: "MyModel", withExtension: "mlmodelc"),
      let model = try? MLModel(contentsOf: modelURL) else {
    fatalError("मॉडल लोड नहीं हो सका")
}

// मॉडल के मेटाडेटा प्राप्त करना
let description = model.mod                    

अनुशंसाएँ