Swift पर मशीन लर्निंग: iOS/macOS के लिए लाइब्रेरीज़ और उपकरण
Apple इकोसिस्टम के लिए डेवलपमेंट पारंपरिक रूप से Swift भाषा से जुड़ा है। इस तथ्य के बावजूद कि Python डेटा साइंस के क्षेत्र में निर्विवाद नेता बना हुआ है, Swift सक्रिय रूप से उसका पीछा कर रहा है, जो Apple के हार्डवेयर के लिए अनुकूलित देशी समाधान प्रदान करता है। इस लेख में, हम प्रमुख लाइब्रेरीज़ और फ्रेमवर्क का विश्लेषण करेंगे जो iOS, macOS, watchOS और tvOS के लिए ऐप्स में मशीन लर्निंग (ML) को शामिल करने के साथ-साथ डिवाइस पर ही मॉडल को प्रशिक्षित करने की अनुमति देते हैं।
1. Core ML — सब कुछ का आधार
Core ML केवल एक लाइब्रेरी नहीं है, बल्कि Apple का एक मौलिक फ्रेमवर्क है जो डिवाइस पर ML मॉडल को निष्पादित करने के लिए रनटाइम के रूप में कार्य करता है। यह Python (scikit-learn, TensorFlow, PyTorch) में प्रशिक्षित मॉडल का समर्थन करता है और Core ML Tools का उपयोग करके .mlmodel या .mlpackage प्रारूप में परिवर्तित किया जाता है।
Core ML की प्रमुख क्षमताएँ:
- Neural Engine, GPU और CPU के लिए अनुकूलन (स्वचालित चयन)।
- चित्रों, पाठ, अनुक्रमों, सारणीबद्ध डेटा का समर्थन।
- वर्गीकरण, वस्तु पहचान (YOLO, SSD), सिमेंटिक सेगमेंटेशन मॉडल के साथ कार्य।
- Natural Language के माध्यम से ट्रांसफॉर्मर मॉडल (BERT, GPT-2) का समर्थन।
छवि वर्गीकरण के लिए Core ML मॉडल एकीकरण का उदाहरण (Swift):
import CoreMLimport Vision
// 1. मॉडल लोड करें (उदाहरण के लिए, MobileNetV2)guard let model = try? VNCoreMLModel(for: MobileNetV2(configuration: MLModelConfiguration()).model) else { fatalError("मॉडल लोड करने में विफल")}
// 2. Vision के लिए अनुरोध बनाएँlet request = VNCoreMLRequest(model: model) { request, error in guard let results = request.results as? [VNClassificationObservation], let topResult = results.first else { return } print("पहचाना गया: \\(topResult.identifier) \\(topResult.confidence) आत्मविश्वास के साथ")}
// 3. छवि पर अनुरोध निष्पादित करेंguard let image = UIImage(named: "cat.jpg"), let ciImage = CIImage(image: image) else { return }
let handler = VNImageRequestHandler(ciImage: ciImage, options: [:])try? handler.perform([request])2. Create ML — बिना कोड के (और कोड के साथ) प्रशिक्षण
Create ML Apple का एक उपकरण है जो Xcode और Swift Playgrounds में निर्मित है, जो Swift का उपयोग करके सीधे Mac पर मशीन लर्निंग मॉडल को प्रशिक्षित करने की अनुमति देता है। यह इकोसिस्टम से बाहर निकले बिना प्रोटोटाइप और कस्टम मॉडल बनाने के लिए आदर्श है।
Create ML समर्थन करता है:
- वर्गीकरण और प्रतिगमन (सारणीबद्ध डेटा)।
- छवि वर्गीकरण और वस्तु पहचान।
- पाठ विश्लेषण (भावना, वर्गीकरण)।
- अनुशंसा प्रणाली (उपयोगकर्ता व्यवहार पर आधारित)।
- ध्वनि वर्गीकरण।
Swift (macOS) पर पाठ वर्गीकरण प्रशिक्षण का उदाहरण:
import CreateMLimport Foundation
// 1. CSV से डेटा लोड करेंlet data = try MLDataTable(contentsOf: URL(fileURLWithPath: "/Users/me/emails.csv"))
// 2. train/test में विभाजित करेंlet (trainingData, testingData) = data.randomSplit(by: 0.8, seed: 42)
// 3. भावना वर्गीकरण प्रशिक्षित करेंlet sentimentClassifier = try MLTextClassifier(trainingData: trainingData, textColumn: "text", labelColumn: "label")
// 4. सटीकता का मूल्यांकनlet evaluationMetrics = sentimentClassifier.evaluation(on: testingData)print("सटीकता: \\(evaluationMetrics.classificationError)")
// 5. मॉडल सहेजेंlet metadata = MLModelMetadata(author: "PythonLib", shortDescription: "ईमेल भावना वर्गीकरण", version: "1.0")try sentimentClassifier.write(to: URL(fileURLW