Maschinelles Lernen ist großartig, aber es kann schwierig sein, es in mobilen Anwendungen zu implementieren. Dies gilt insbesondere für Personen ohne einen Abschluss in Informatik. Mit Core ML macht es Apple jedoch leicht, Ihrer vorhandenen iOS-App maschinelles Lernen hinzuzufügen, indem Sie die brandneue Create ML-Plattform verwenden, um leichte, maßgeschneiderte neuronale Netzwerke zu trainieren.
Maschinelles Lernen ist die Verwendung statistischer Analysen, um Computer bei Entscheidungen und Vorhersagen zu unterstützen, die auf den in diesen Daten gefundenen Merkmalen basieren. Mit anderen Worten, es ist der Vorgang, bei dem ein Computer einen Datenstrom analysiert, um ein abstraktes Verständnis davon zu bilden (als "Modell" bezeichnet), und dieses Modell zum Vergleich mit neueren Daten zu verwenden.
Viele Ihrer Lieblings-Apps auf Ihrem Telefon enthalten wahrscheinlich maschinelles Lernen. Wenn Sie beispielsweise eine Nachricht eingeben, sagt Autokorrektur voraus, was Sie als nächstes eingeben möchten. Dazu wird ein Machine Learning-Modell verwendet, das während der Eingabe ständig aktualisiert wird. Sogar virtuelle Assistenten wie Siri, Alexa und Google Assistant sind vollständig auf maschinelles Lernen angewiesen, um ein menschenähnliches Verhalten nachzuahmen.
Lassen Sie uns Ihr neu gewonnenes Wissen über maschinelles Lernen endlich dazu nutzen, Ihr erstes Modell zu bauen! Sie müssen sicherstellen, dass Xcode 10 installiert ist und macOS Mojave auf Ihrem Entwicklungs-Mac ausgeführt wird. Außerdem gehe ich davon aus, dass Sie bereits Erfahrung mit der Entwicklung von Swift, Xcode und iOS im Allgemeinen haben.
In diesem Lernprogramm klassifizieren wir Bilder basierend darauf, ob sie einen Baum oder eine Blume haben. Es wird jedoch empfohlen, dass Sie stattdessen Ihre eigenen Bilder und Objekte verwenden, die Sie klassifizieren möchten. Aus diesem Grund erhalten Sie keine Blumen- und Baumbilder, die in diesem Beispiel verwendet werden.
Wenn Sie Probleme haben, Bilder zu finden (oder nicht genügend eigene Bilder haben), versuchen Sie es mit PhotoDune oder Google Images. Für das Lernen sollte dies ausreichend sein, damit Sie loslegen können. Versuchen Sie, Bilder mit einem bestimmten Hauptobjekt (z. B. eine Orange, ein Baum) anstelle mehrerer (z. B. Bananenbündel, ganze Wälder) zu finden, um zu vermeiden, dass das Modell zu Beginn verwirrt wird. Natürlich können Sie später immer noch weitere Komplikationen hinzufügen, nachdem Sie etwas Erfahrung haben.
Im Bereich der Datenwissenschaft ist es ratsam, Ihre Datensätze in zwei Kategorien zu unterteilen: eine zum Trainieren des Modells und eine zum Testen. Da Sie Ihrem aktuellen Modell die größte Aufmerksamkeit widmen möchten, sollten 80% Ihres Datensatzes für das Training verwendet werden, und Sie sollten 20% sparen, um sicherzustellen, dass alles wie gewünscht funktioniert. das ist ja auch wichtig!
Im Hinblick auf die 80: 20-Regel erstellen Sie zwei Ordner: Ausbildung und Testen, Dort legen Sie die richtige Anzahl von Bildern in jeden Ordner. Sobald Sie 80% Ihrer Daten in haben Ausbildungund 20% in Testen, Es ist endlich Zeit, sie nach Kategorien aufzuteilen. Für mein Beispiel habe ich zwei Ordner Blumen und Bäume in meinem Ausbildung Ordner, und ich habe 20% der Bilder in meinem Ordner Testen Mappe.
Lassen Sie uns also eintauchen und das Modell tatsächlich erstellen. Sie werden vielleicht überrascht sein zu hören, dass der Großteil Ihrer Arbeit bereits erledigt ist! Jetzt müssen wir nur noch Code schreiben und Swift und Xcode einsetzen, um den Zauber für uns zu tun.
Während die meisten von uns daran gewöhnt sind, echte iOS-Anwendungen zu erstellen, werden wir diesmal auf den Spielplatz gehen, um unsere maschinellen Lernmodelle zu erstellen. Interessant ist es nicht? Wenn Sie darüber nachdenken, ist es tatsächlich sinnvoll - Sie brauchen nicht all diese zusätzlichen Dateien, sondern benötigen nur eine saubere Liste, um Swift mitzuteilen, wie Sie Ihr Modell erstellen. Erstellen Sie einen macOS-Spielplatz, um zu beginnen.
Öffnen Sie zunächst Xcode.
Dann erstellen Sie einen neuen Spielplatz.
Und geben Sie einen nützlichen Namen.
Im Gegensatz zu dem, was Sie vielleicht gedacht haben, benötigen Sie nur drei Codezeilen, um Ihren Spielplatz für das Training Ihres Modells vorzubereiten. Löschen Sie den gesamten Boilerplate-Code, der automatisch generiert wird, und führen Sie dann die folgenden Schritte aus:
Importieren Sie die CreateMLUI
API zum Aktivieren von ML erstellen in Ihrem Swift Playground:
importiere CreateMLUI
Dann erstellen Sie eine Instanz von MLImageClassifierBuilder
und rufen Sie an showInLiveView (:)
Methode, um mit der Klasse in einer intuitiven Benutzeroberfläche innerhalb Ihres Spielplatzes interagieren zu können:
let builder = MLImageClassifierBuilder () builder.showInLiveView ()
Großartig! Das ist alles, was Sie in Bezug auf Code tun müssen. Jetzt können Sie Ihre Bilder per Drag & Drop zu einem voll funktionsfähigen Core ML-Modell ziehen.
Jetzt haben wir eine Benutzeroberfläche entwickelt, über die wir unsere Bilder hinzufügen können und die Magie sich entfalten können! Wie bereits erwähnt, habe ich sieben Bilder von Blumen und sieben Bilder von Bäumen. Natürlich reicht das nicht für ein sehr genaues Modell, aber es macht den Trick.
Wenn Sie den Assistenten-Editor öffnen, sehen Sie eine Box mit der Aufschrift Lassen Sie Bilder fallen, um mit dem Training zu beginnen, wo Sie Ihre ziehen können Ausbildung Mappe. Nach ein paar Sekunden sehen Sie eine Ausgabe auf Ihrem Spielplatz. Jetzt können Sie Ihr neu erstelltes Core ML-Modell testen.
Nachdem Sie Ihr Modell trainiert haben, können Sie es einfach testen und herunterladen, um es in Ihren Apps zu verwenden. Sie können es direkt auf Ihrem Spielplatz testen, ohne ein Projekt erstellen zu müssen. Wenn Sie wissen, dass Ihr Modell fertig ist, können Sie es in eine iOS- (oder MacOS-) App einfügen.
Erinnere dich an die Testen Ordner, den Sie erstellt haben? Ziehen Sie den gesamten Ordner auf Ihren Spielplatz (wo Sie Ihren Ordner abgelegt haben) Ausbildung Bilder früher im Tutorial). Sie sollten sehen, dass Ihre Bilder in einer Liste angezeigt werden, zusammen mit dem, was das Modell für jedes Bild hält. Sie werden vielleicht überrascht sein - selbst mit so wenigen Daten können Sie immer noch ein ziemlich genaues Modell erhalten.
Wenn Sie mit Ihrem Modell zufrieden sind, können Sie es im Core ML-Format exportieren und in Ihren Apps verwenden. Neben an Bildklassifizierer, Klicken Sie auf die Schaltfläche nach unten gerichteter Pfeil um einige Felder anzuzeigen, die Sie ändern können, um den Namen, den Autor oder die Beschreibung Ihres Modells zu ändern. Sie können auch auswählen, wo Sie es herunterladen möchten.
Wenn Sie das Blau treffen sparen Taste, Ihre .mlmodel Die Datei wird am gewünschten Ort angezeigt. Wenn Sie interessiert sind, können Sie die Ausgabe auch auf dem Spielplatz lesen, um Informationen wie Genauigkeit, Rückruf und Speicherort Ihres Modells zu erhalten.
In diesem Lernprogramm wird davon ausgegangen, dass Sie mit Core ML-Modellen im Allgemeinen vertraut sind. Ich werde jedoch kurz erklären, wie es funktioniert. Weitere Informationen zur Verwendung des Modells in Ihrer App finden Sie in meinem anderen Tutorial:
Um das Modell zu verwenden, ziehen Sie es in Ihr Xcode-Projekt (wie eine Bild- oder Audiodatei). Importieren Sie anschließend Core ML in die Datei, in der Sie es verwenden möchten. Mit einigen zusätzlichen Schritten sollten Sie in der Lage sein, das Modell wie eine Swift-Klasse zu behandeln und Methoden wie in meinem anderen Tutorial beschrieben aufzurufen.
Weitere Informationen dazu finden Sie in der Dokumentation von Apple. Außerdem erfahren Sie, wie Sie maschinelles Lernen in Ihre App integrieren.
In diesem Lernprogramm haben Sie gelernt, wie Sie ein benutzerdefiniertes neuronales Netzwerk für die Bildklassifizierung erstellen und dabei nur drei Zeilen Code schreiben. Sie haben dieses Modell mit Ihren eigenen Daten trainiert und anschließend mit 20% des Modells getestet. Sobald es funktioniert hat, haben Sie es exportiert und zu Ihrer eigenen App hinzugefügt.
Ich hoffe, Ihnen hat dieses Tutorial gefallen, und ich empfehle Ihnen dringend, dass Sie sich einige der anderen Kurse und Tutorials zum maschinellen Lernen hier auf Envato Tuts ansehen+!
Wenn Sie Anmerkungen oder Fragen haben, zögern Sie bitte nicht, sie unten im Abschnitt zu veröffentlichen.