Maschinelles Lernen mit Swift: Bibliotheken und Werkzeuge für iOS/macOS
Die Entwicklung für das Apple-Ökosystem wird traditionell mit der Sprache Swift assoziiert. Obwohl Python der unangefochtene Spitzenreiter im Bereich Data Science bleibt, holt Swift aktiv auf und bietet native, für die Apple-Hardware optimierte Lösungen. In diesem Artikel betrachten wir die wichtigsten Bibliotheken und Frameworks, die es ermöglichen, maschinelles Lernen (ML) in Apps für iOS, macOS, watchOS und tvOS zu integrieren sowie Modelle direkt auf dem Gerät zu trainieren.
1. Core ML – die Grundlage von allem
Core ML ist nicht nur eine Bibliothek, sondern ein grundlegendes Framework von Apple, das als Laufzeitumgebung für die Ausführung von ML-Modellen auf dem Gerät dient. Es unterstützt Modelle, die in Python (scikit-learn, TensorFlow, PyTorch) trainiert und mit Core ML Tools in das Format .mlmodel oder .mlpackage konvertiert wurden.
Wichtige Funktionen von Core ML:
- Optimierung für Neural Engine, GPU und CPU (automatische Auswahl).
- Unterstützung für Bilder, Text, Sequenzen, Tabellendaten.
- Arbeit mit Klassifikationsmodellen, Objekterkennung (YOLO, SSD), semantischer Segmentierung.
- Unterstützung für Transformer-Modelle (BERT, GPT-2) über Natural Language.
Beispiel für die Integration eines Core ML-Modells zur Bildklassifikation (Swift):
import CoreMLimport Vision
// 1. Modell laden (z.B. MobileNetV2)guard let model = try? VNCoreMLModel(for: MobileNetV2(configuration: MLModelConfiguration()).model) else { fatalError("Modell konnte nicht geladen werden")}
// 2. Anfrage an Vision erstellenlet request = VNCoreMLRequest(model: model) { request, error in guard let results = request.results as? [VNClassificationObservation], let topResult = results.first else { return } print("Erkannt: \\(topResult.identifier) mit Sicherheit \\(topResult.confidence)")}
// 3. Anfrage auf einem Bild ausführenguard 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 – Training ohne Code (und mit Code)
Create ML ist ein Apple-Werkzeug, das in Xcode und Swift Playgrounds integriert ist und es ermöglicht, Modelle des maschinellen Lernens direkt auf dem Mac mit Swift zu trainieren. Es ist ideal für das Prototyping und die Erstellung benutzerdefinierter Modelle, ohne das Ökosystem verlassen zu müssen.
Create ML unterstützt:
- Klassifikation und Regression (Tabellendaten).
- Bildklassifikation und Objekterkennung.
- Textanalyse (Stimmung, Kategorisierung).
- Empfehlungssysteme (basierend auf Benutzerverhalten).
- Audio-Klassifikation.
Beispiel für das Training eines Textklassifikators mit Swift (macOS):
import CreateMLimport Foundation
// 1. Daten aus CSV ladenlet data = try MLDataTable(contentsOf: URL(fileURLWithPath: "/Users/me/emails.csv"))
// 2. In Trainings-/Testdaten aufteilenlet (trainingData, testingData) = data.randomSplit(by: 0.8, seed: 42)
// 3. Stimmungsklassifikator trainierenlet sentimentClassifier = try MLTextClassifier(trainingData: trainingData, textColumn: "text", labelColumn: "label")
// 4. Genauigkeit bewertenlet evaluationMetrics = sentimentClassifier.evaluation(on: testingData)print("Genauigkeit: \\(evaluationMetrics.classificationError)")
// 5. Modell speichernlet metadata = MLModelMetadata(author: "PythonLib", shortDescription: "Stimmungsklassifikator für E-Mails", version: "1.0")try sentimentClassifier.write(to: URL(fileURLW Auch in der Bibliothek
Bildverarbeitung in Rust: resize und crop mit image und imageproc
Blade für PHP: Das komplette Tutorial mit Beispielen
PDFKit für JavaScript (Node.js): Komplettguide mit Beispielen
vcpkg für C++: Komplette Anleitung mit Beispielen
Hibernate ORM: Ein leistungsstarkes Werkzeug für die Arbeit mit Datenbanken in Java