Lernen mit ONNX für den Handel - Seite 11

 

Nutzen Sie die Kraft des maschinellen Lernens mit ONNX – Ron Dagdag



Nutzen Sie die Kraft des maschinellen Lernens mit ONNX – Ron Dagdag

In diesem Video geht Ron Dagdag auf die Bedeutung von Frameworks für maschinelles Lernen ein, insbesondere ONNX, das die Interoperabilität zwischen Deep-Learning-Frameworks und -Bereitstellung erleichtert. Er beschreibt die Möglichkeiten, ONNX-Modelle zu erhalten, einschließlich der Konvertierung vorhandener Modelle, des Trainings von Modellen mit dem automatisierten maschinellen Lernen von Azure und der Verwendung des benutzerdefinierten Vision-Dienstes von Azure. Dagdag betont die Entscheidung, ob Modelle für maschinelles Lernen in der Cloud oder am Rand bereitgestellt werden sollen, und er schlägt vor, ONNX zu nutzen, um den Prozess nahtloser zu gestalten. Darüber hinaus geht er durch den Prozess der Verwendung von Microsofts ML.NET zum Erstellen eines maschinellen Lernmodells und demonstriert, wie das ONNX-Modell mithilfe der ONNX-Laufzeit für Rückschlüsse in eine Anwendung integriert werden kann. Dagdag untersucht auch ONNX als offenen Standard für maschinelles Lernen, seine verschiedenen Plattformen und Sprachen sowie Tools, um die Modelle kleiner zu machen.

  • 00:00:00 In diesem Abschnitt erörtert der Referent, wie sich herkömmliches Programmieren von maschinellem Lernen unterscheidet, da sich maschinelles Lernen darauf konzentriert, Computer zum Erlernen von Algorithmen zu trainieren, während sich traditionelles Programmieren auf Eingaben und Berechnungen konzentriert. Trainingsdaten sind beim maschinellen Lernen wichtig, und diese Daten werden verwendet, um Maschinen darauf zu trainieren, Algorithmen als Teil des Prozesses zu lernen. Der Referent betont die Bedeutung von Frameworks für maschinelles Lernen wie ONNX (Open Neural Network Exchange), die als Brücke zwischen Frameworks für maschinelles Lernen und der Bereitstellung dienen. ONNX hilft beim Verschieben von Modellen zwischen Deep-Learning-Frameworks und stellt die Interoperabilität zwischen Frameworks sicher.

  • 00:05:00 In diesem Abschnitt erläutert Ron Dagdag die verschiedenen Möglichkeiten, ein ONNX-Modell zu erhalten. Datenwissenschaftler sind ähnlich wie Köche für die Erstellung und Verfeinerung des Rezepts zur Verbesserung des Unternehmensmodells verantwortlich, während ONNX-Modelle wie PDFs für die neuronale Darstellung eines Betriebsdiagramms sind. Es gibt vier Möglichkeiten, ONNX-Modelle zu erhalten, einschließlich über GitHub, den benutzerdefinierten Vision-Dienst von Azure, das Konvertieren vorhandener Modelle und das Trainieren dieser mithilfe des automatisierten maschinellen Lernens von Azure. Der Prozess zum Konvertieren von Modellen in ONNX ist unkompliziert, da Konverter verfügbar sind, um Modelle von TensorFlow, Keras oder PyTorch in ONNX zu ändern, mit wichtigen Schritten wie dem Laden des vorhandenen Modells, der Konvertierung und dem Speichern. Insgesamt kann ONNX Unternehmen dabei helfen, maschinelles Lernen nahtloser in ihre Anwendungen zu integrieren.

  • 00:10:00 In diesem Abschnitt erörtert der Referent die Verwendung von ONNX für maschinelle Lernmodelle. ONNX ermöglicht es Entwicklern, die Eingabe- und Ausgabedaten ihrer Modelle zu identifizieren, wenn sie diese visualisieren. Es kann über die Befehlszeilenkonvertierung verwendet werden und kann schnell mit GPU-Clustern in der Cloud skaliert werden. ONNX bietet auch eine Modellregistrierung, die bei der Versionierung von Modellen und der Unterstützung bei der Bereitstellung helfen kann. Der Referent betont den Unterschied zwischen Data Scientists und Software Engineers, bei denen erstere ein Geheimrezept generieren, während letztere herausfinden, wie man es operationalisiert, indem sie es mit verschiedenen Quellen integrieren, Daten beschaffen und Pipelines erstellen. ONNX kann auf verschiedenen Geräten bereitgestellt werden, einschließlich Windows-Geräten und IoT-Endpunkten.

  • 00:15:00 In diesem Abschnitt erörtert der Referent die Entscheidung, ob Modelle für maschinelles Lernen in der Cloud oder am Rand bereitgestellt werden sollen, was sich auf eine Verarbeitung bezieht, die näher am Benutzer liegt. Er erklärt, dass die Bereitstellung am Edge kostengünstiger und flexibler sein kann und eine geringere Latenz aufweist, was ideal für die Verarbeitung von Videos oder Bildern ist. Darüber hinaus kann die Bereitstellung am Rand erforderlich sein, wenn Regeln und Vorschriften vorschreiben, dass die Daten ein bestimmtes Netzwerk oder Land nicht verlassen dürfen. Der Redner schlägt die Verwendung von ONNX vor, einem Zwischenformat, das Modelle aus verschiedenen Frameworks für maschinelles Lernen konvertieren kann, um den Bereitstellungsprozess nahtloser zu gestalten.

  • 00:20:00 In diesem Abschnitt erörtert der Referent das ONNX-Framework und seine potenziellen Anwendungen. ONNX ermöglicht die Konvertierung von Modellen in verschiedene Formate, einschließlich TensorFlow, Core ML und Transfer Learning, und verfügt über eine leistungsstarke Laufzeit zum Ausführen der Modelle, genannt ONNX Runtime. ONNX Runtime ist plattformübergreifend und unterstützt herkömmliche maschinelle Lernvorgänge. Es hat auch eine GPU-Version und eine C#-API. Insgesamt ist ONNX ein leistungsstarkes Tool für Entwickler, und Benutzer können über das ONNX-Ökosystem damit beginnen, indem sie die Docker-Container-Instanz verwenden. In seiner Demo zeigt der Referent, wie man verschiedene ONNX-Pakete in C# herunterlädt und verwendet, um Daten mithilfe von Datenrahmen zu manipulieren.

  • 00:25:00 In diesem Abschnitt demonstriert der Referent den Prozess der Verwendung von Microsofts ML.NET zur Erstellung eines einfachen maschinellen Lernmodells, das das Gehalt auf der Grundlage jahrelanger Erfahrung vorhersagt. Zuerst teilt er die Daten in Trainings- und Testsets auf, erstellt eine Pipeline mit dem ML-Kontext und trainiert das Modell mit dem Trainingsset. Anschließend wertet er die Metriken des Modells aus und speichert sie in einem ONNX-Modell. Anschließend zeigt er, wie das ONNX-Modell mithilfe der ONNX-Laufzeit für Inferenzen in eine Anwendung integriert werden kann. Schließlich erstellt er einen Eingabecontainer für die Anwendung und führt das Modell aus, um die Punktzahl zu erhalten.

  • 00:30:00 In diesem Abschnitt erörtert der Referent die Vorteile der Verwendung von ONNX Runtime, die verschiedenen Microsoft-Teams, die es in der Vergangenheit verwendet haben, und wie es ihre Prozesse verbessert. Er spricht auch über die Verwendung von Windows ML bei der Bereitstellung auf Windows-Geräten, das auf Geräten der Windows-Familie in Win32- und WinRT-Anwendungen verfügbar ist, und über die Verbindung der ONNX-Laufzeit mithilfe von APIs. Der Redner untersucht dann Direct ML, das sich ideal für die Erstellung einer API für maschinelles Lernen mit hoher Kontrolle in Echtzeit eignet und sich am besten für Spiele eignet. Er hebt auch ONNX JS für die Ausführung von ONNX-Modellen im Browser oder in nodejs sowie die Embedded Learning Library hervor, mit der Sie mit der Verwendung von Geräten beginnen können, die nicht über ein vollständiges Betriebssystem oder einen Linux-Mac verfügen.

  • 00:35:00 In diesem Abschnitt erörtert Ron Dagdag die Verwendung von ONNX als offenen Standard für maschinelles Lernen und wie es effizient auf verschiedene Plattformen konvertiert werden kann. Die ONNX-Modelle können in mehreren Sprachen wie dotnet, JavaScript und Python erstellt werden. Die Leistung kann durch die Bereitstellung in der Cloud oder am Edge erreicht werden. Das Publikum stellte Fragen wie: Können Sie Ihr ONNX-Modell in C# importieren, wie groß ist der Speicherbedarf der ONNX-Laufzeit und wie können Sie ein großes Bildmodell in ein kleineres ONNX-Modell konvertieren, das für kleinere Geräte geeignet ist. Dagdag schlug vor, die Modelle durch Pruning oder Quantisierung zu komprimieren und ihre Größe zu reduzieren. Er betonte auch, dass die Folien und Democodes im GitHub-Repository verfügbar sind, zusammen mit dem Ordner zum Ausprobieren des Codes.

  • 00:40:00 In diesem Abschnitt erörtert der Redner den Prozess, ONNX-Modelle in Bezug auf die Größe kleiner zu machen. Das ONNX-Modell besteht aus Diagrammen von Operationen, die angeben, welche Operationen es ausführen kann. Auch wenn es möglicherweise keine bestimmte Möglichkeit gibt, ein ONNX-Modell kleiner zu machen, gibt es ein Dienstprogramm, das es komprimieren kann. Da es sich um eine Open-Source-Software handelt, ist es möglich, dass in Zukunft eine neue Funktion veröffentlicht wird. Die Zuschauer werden ermutigt, weitere Fragen über den Chat oder die Q&A-Website an Ron zu richten.
Leverage the power of Machine Learning with ONNX - Ron Dagdag
Leverage the power of Machine Learning with ONNX - Ron Dagdag
  • 2020.04.07
  • www.youtube.com
Have you ever wanted to make your apps “smarter”? This session will cover what every ML/AI developer should know about Open Neural Network Exchange (ONNX) . ...
 

Nutzen Sie die Kraft des maschinellen Lernens mit ONNX | Ron Lyle Dagdag | Conf42 Maschinelles Lernen 2021


Nutzen Sie die Kraft des maschinellen Lernens mit ONNX | Ron Lyle Dagdag | Conf42 Maschinelles Lernen 2021

In diesem Video erörtert Ron Dagdag die Vorteile der Verwendung von ONNX (Open Neural Network Exchange) als offenes Format für Machine Learning-Modelle, insbesondere bei der Bereitstellung von Modellen an verschiedenen Endpunkten wie Telefonen oder Cloud-Infrastrukturen. Er behandelt die Szenarien, in denen das Konvertieren eines Modells in ONNX nützlich sein kann, z. B. bei geringer Leistung oder Kombinieren von Modellen, die auf verschiedenen Frameworks trainiert wurden, und beschreibt, wie beliebte Modelle wie RestNet im ONNX-Format heruntergeladen werden können. Darüber hinaus erläutert er die Vorteile des Ausführens von Modellen für maschinelles Lernen am Rand sowie die Bedeutung der Verwaltung von Modellen durch Registrierung in der Cloud und Versionierung. Er demonstriert, wie man ein Modell in ONNX konvertiert und die ONNX-Laufzeit in Python für Inferenzen verwendet, und betont abschließend die Rolle von ONNX, Datenwissenschaftlern und Softwareentwicklern eine effektive Zusammenarbeit zu ermöglichen.

  • 00:00:00 In diesem Abschnitt stellt Ron Dagdag von Spacy ONNX (Open Neural Network Exchange) als ein offenes Format für maschinelle Lernmodelle vor, das neben neuronalen Netzen auch traditionelle maschinelle Lernmodelle verarbeiten kann. Er betont, dass dieses Format die Lücke zwischen der Trainingsphase des maschinellen Lernens und dem Einsatzort des erlernten Modells überbrückt, das eine Vielzahl von Endpunkten von Telefonen bis hin zu Cloud-Infrastrukturen sein kann. ONNX hat Partnerschaften mit einer wachsenden Zahl von Organisationen geschlossen, insbesondere mit Microsoft und Facebook.

  • 00:05:00 In diesem Abschnitt beschreibt der Referent die wachsende Popularität von ONNX, einem Framework, das es ermöglicht, in einer Programmiersprache trainierte Modelle für maschinelles Lernen in einer anderen Sprache oder auf anderer Hardware einzusetzen, sowie die Situationen, in denen dies der Fall ist kann nützlich sein, um ein Modell in ONNX umzuwandeln. Dazu gehören Szenarien mit hoher Latenz oder geringer Leistung, bei der Bereitstellung auf IoT- oder Edge-Geräten oder bei der Kombination von Modellen, die auf verschiedenen Frameworks trainiert wurden. Der Redner vergleicht ONNX mit einem PDF, da es die Anzeige von Modellen auf verschiedenen Gerätetypen ermöglicht, und geht weiter darauf ein, wie ONNX-Modelle erstellt werden können, einschließlich des Exports aus dem ONNX-Modellzoo oder der Verwendung von Azure Custom Vision.

  • 00:10:00 In diesem Abschnitt erörtert der Referent, wie beliebte Machine-Learning-Modelle wie RestNet bereits in ONNX-Formate konvertiert werden, die zur Verwendung einfach heruntergeladen werden können. Er erwähnt auch, wie neuronale Netzwerkmodelle mit Tools wie Torch und SKL oder über die Befehlszeile in ONNX konvertiert werden können. Darüber hinaus spricht er über Netron, ein Tool, das ONNX-Modelle visualisiert, indem es die Eingaben und Ausgaben des Operationsdiagramms anzeigt, ohne dass der Originalcode des Datenwissenschaftlers erforderlich ist. Abschließend betont der Referent, wie wichtig es ist, Modelle für maschinelles Lernen zu verwalten, indem sie in der Cloud registriert und versioniert werden.

  • 00:15:00 In diesem Abschnitt erläutert Ron Lyle Dagdag, wie wichtig es ist, wo Modelle für maschinelles Lernen bereitgestellt werden, und welche verschiedenen Faktoren für die Bereitstellung zu berücksichtigen sind. Er erklärt, dass die Bereitstellung auf verschiedene Arten erfolgen kann, z. B. die Bereitstellung in der Cloud oder die Ausführung von Inferenzen am Edge, näher am Benutzer. Darüber hinaus erwähnt er, wie wichtig es ist, ein Image zu erstellen und eine Pipeline für die Bereitstellung zu erstellen, was über einen Dienst oder einen Docker-Container erfolgen kann, und spricht über die Verfügbarkeit von ONNX-Docker-Images, mit denen ONNX in eine Anwendung integriert werden kann.

  • 00:20:00 In diesem Abschnitt erörtert der Referent die Vorteile der Ausführung von Modellen für maschinelles Lernen am Rand statt in der Cloud. Ein großer Vorteil ist die geringe Latenz, da die lokale Ausführung des Modells auf dem Gerät schnellere Inferenzzeiten liefern kann. Ein weiterer Vorteil ist die Skalierbarkeit, da es effizienter sein kann, das Modell auf Millionen oder Milliarden von Geräten bereitzustellen, anstatt Daten in die Cloud zu senden. Das ONNX-Ökosystem wird als Lösung zum Konvertieren bestehender Modelle in ein Format eingeführt, das mit verschiedenen Hardwarebeschleunigern am Rand ausgeführt werden kann. Die ONNX-Laufzeit, eine leistungsstarke Inferenz-Engine für ONNX-Modelle, wird auch als Open-Source-Lösung zum Ausführen von Modellen am Rand diskutiert.

  • 00:25:00 In diesem Abschnitt erörtert der Referent die ONNX-Laufzeit und wie sie mit der Windows-KI-Plattform, beispielsweise mit der WinML-API, für praktische und einfache modellbasierte API-Inferenzen verwendet werden kann. Darüber hinaus gibt es eine DirectML-API zum Erstellen von Spielen, eine JavaScript-Bibliothek namens ONNX.js zum Ausführen von Modellen in einem Browser und mehrere robuste Treibermodelle, die von den Fähigkeiten des Systems abhängen. Anschließend demonstriert der Referent, wie ein trainiertes Modell in ml.net mithilfe von Nuget-Paketen und der C#-Anwendung in ONNX konvertiert wird.

  • 00:30:00 In diesem Abschnitt demonstriert Ron Lyle Dagdag ein einfaches Beispiel für die Erstellung eines maschinellen Lernmodells, das das Gehalt basierend auf der Eingabe der jahrelangen Erfahrung eines Prüfers mit ml.net vorhersagt. Sobald das Modell trainiert ist, kann es mit der Funktion „context.model.convert_to_onnx“ in ein ONNX-Modell konvertiert werden. Das ONNX-Modell kann dann mithilfe der ONNX-Laufzeitbibliothek verifiziert und für Rückschlüsse in einem Python-Notebook verwendet werden. Die Eingabe und Ausgabe des Modells werden mit `netron.app` angezeigt.

  • 00:35:00 In diesem Abschnitt demonstriert der Referent, wie die ONNX-Laufzeitumgebung in Python verwendet wird, um auf ein Modell zu schließen, das in ML.NET erstellt und in eine ONNX-Datei exportiert wurde. Der Referent zeigt, wie man den Namen, die Form und den Typ der Eingaben und Ausgaben des ONNX-Modells erhält und Eingabewerte zur Inferenz an das Modell übergibt. Der Referent betont auch, wie wichtig es ist, ONNX als offenen Standard für die Integration von Modellen für maschinelles Lernen in Anwendungen zu verwenden, und wie ONNX Data Scientists und Software Engineers ermöglicht, effektiv zusammenzuarbeiten. Abschließend bietet der Referent eine Zusammenfassung der wichtigsten Erkenntnisse aus der Diskussion, einschließlich der Erstellung und Bereitstellung eines ONNX-Modells und der verschiedenen Plattformen, die die ONNX-Bereitstellung unterstützen.

  • 00:40:00 In diesem Abschnitt schließt Ron Dagdag, ein leitender Softwareentwickler bei Spacy und Microsoft MVP, das Video ab, indem er dem Publikum dankt und Möglichkeiten aufzeigt, ihn zu kontaktieren, wenn sie sich über ONNX Runtime, Jupyter-Notebooks und Bäckereien informieren möchten , Bäcker und Brot.
Leverage Power of Machine Learning with ONNX | Ron Lyle Dagdag | Conf42 Machine Learning 2021
Leverage Power of Machine Learning with ONNX | Ron Lyle Dagdag | Conf42 Machine Learning 2021
  • 2021.08.31
  • www.youtube.com
Ron Lyle DagdagLead Software Engineer @ SpaceeHave you ever wanted to make your apps “smarter”? This session will cover what every ML/AI developer should kno...
 

Inferenz in JavaScript mit ONNX Runtime Web!



Inferenz in JavaScript mit ONNX Runtime Web!

Das Video behandelt die Verwendung von ONNX Runtime Web im Browser über eine Next.js-Vorlage, die eine Benutzeroberfläche zum Ausführen von Rückschlüssen auf vorausgewählte Bilder bietet. Der Prozess der Konvertierung von Bilddaten in einen Tensor unter Verwendung von RGB-Werten und Dimensionserstellung wird demonstriert. Die Modellhilfsfunktion wird untersucht, die vorverarbeitete Daten unter Verwendung des Pfads zum Modell, des Ausführungsanbieters und der Sitzungsoptionen an die ONNX-Inferenzsitzung übergibt. Feeds für das Modell werden mithilfe des Eingabenamens und des Tensorobjekts erstellt und an die Funktion session.run übergeben, um die fünf besten Ergebnisse zu erhalten. Das erste Ergebnis füllt die Bildanzeige, während die Webpack-Konfiguration und Anweisungen für die serverseitige Inferenz mithilfe des ONNX-Laufzeitknotens bereitgestellt werden.

  • 00:00:00 In diesem Abschnitt lernen wir die Verwendung von ONNX Runtime Web mit JavaScript im Browser unter Verwendung einer Vorlage kennen, die die gesamte erforderliche Vorverarbeitung für die Durchführung von Rückschlüssen bereitstellt. Die Vorlage basiert auf Next.js, einem React-Framework zum Erstellen produktionsbereiter Apps, und bietet eine einfache Benutzeroberfläche zum Ausführen von Rückschlüssen auf vorab ausgewählte Beispielbilder. Der Autor führt uns durch den Code, der ein HTML-Canvas-Element einrichtet, um Bilder anzuzeigen, und berichtet über verschiedene Statistiken über die Inferenz. Das Bild wird dann mithilfe des Bildhilfsprogramms in einen Tensor konvertiert und dann durch die Vorhersagefunktion im Modellhilfsprogramm geleitet, das die ONNX Runtime-Web-API aufruft, um die Inferenz durchzuführen.

  • 00:05:00 In diesem Abschnitt beschreibt das Video den Prozess der Konvertierung von Bilddaten in einen Tensor für die Inferenz mithilfe von RGB-Werten, die Umformung und die Erstellung eines Tensors mit Daten und Dimensionen mithilfe des Tensorobjekts in ONNX Runtime Web. Das Video untersucht auch die Modellhilfsfunktion, die vorverarbeitete Daten an die ONNX-Inferenzsitzung übergibt, indem ihr der Pfad zum Modell, der Ausführungsanbieter (WebGL oder WebAssembly) und die Sitzungsoptionen übergeben werden. Der Eingabename und das ORT-Tensorobjekt werden benötigt, um Feeds für das Modell zu erstellen, die an die session.run-Funktion übergeben werden, um das Ergebnis zu erhalten. Die fünf besten Ergebnisse werden zurückgegeben, und das erste Ergebnis wird verwendet, um die Bildanzeige zu füllen. Darüber hinaus wird eine Webpack-Konfiguration bereitgestellt, zusammen mit Anweisungen zur Verwendung von ONNX Runtime Node, um Rückschlüsse auf der Serverseite mit einem API-Framework durchzuführen.
Inference in JavaScript with ONNX Runtime Web!
Inference in JavaScript with ONNX Runtime Web!
  • 2021.11.26
  • www.youtube.com
Docs: https://onnxruntime.ai/docs/GitHub Template: https://github.com/microsoft/onnxruntime-nextjs-template#onnxruntime #machinelearning #javascript #compute...
 

Ron Dagdag – Erstellen neuronaler Netze im Browser mit ONNX



Ron Dagdag – Erstellen neuronaler Netze im Browser mit ONNX

In diesem Video erklärt Ron Dagdag, wie das ONNX-Framework für maschinelles Lernen verwendet werden kann, um neuronale Netze in einem Browser auszuführen. Er erörtert die Grundlagen des maschinellen Lernens, die Erstellung und Bereitstellung von ONNX-Modellen und die ONNX-Laufzeitumgebung. Dagdag demonstriert die Verwendung von ONNX anhand verschiedener Beispiele, darunter die Vorhersage von Gehältern auf der Grundlage von Berufserfahrung und das Erkennen von Emotionen in Bildern. Er behandelt auch die Bereitstellung von ONNX-Modellen auf verschiedenen Plattformen wie Android und iOS und hebt verfügbare Ressourcen und Demos zum Experimentieren mit ONNX hervor. Dagdag ermutigt zum Experimentieren mit ONNX und betont die Bedeutung effizienter Rückschlüsse auf Zielplattformen unter Verwendung der ONNX-Laufzeit.

  • 00:00:00 In diesem Abschnitt erläutert Ron Dagdag, Director of Software Engineering und Microsoft MVP, die Grundlagen des maschinellen Lernens und den Unterschied zwischen traditioneller Programmierung und maschinellem Lernen. Er erklärt, dass beim maschinellen Lernen auf die Eingabe eine Reihe von Beispielen oder Antworten folgen und das Ziel darin besteht, den Computer zu trainieren, einen Algorithmus für Sie zu erstellen. Er spricht auch über ONNX , ein Framework für maschinelles Lernen, das bei JavaScript-Entwicklern immer beliebter wird, da es ihnen ermöglicht, neuronale Netze im Browser auszuführen.

  • 00:05:00 In diesem Abschnitt erörtert Ron Dagdag ONNX, ein offenes Format für maschinelle Lernmodelle, das als Brücke zwischen Schulung und Einbindung von Modellen in Anwendungen dient. ONNX ist nicht auf neuronale Netze beschränkt, sondern umfasst auch traditionelles maschinelles Lernen, ist auf GitHub verfügbar und hat zahlreiche Mitwirkende. Es ist produktionsbereit und für den Produktionseinsatz optimiert, wodurch es für ressourcenbeschränkte Edge-Geräte oder IoT-Geräte geeignet ist. Darüber hinaus ermöglicht ONNX die Kombination von Modellen, die in verschiedenen Frameworks erstellt wurden, was es zu einem hervorragenden Tool für die Zusammenarbeit mit mehreren Teams macht, die unterschiedliche Frameworks für maschinelles Lernen verwenden.

  • 00:10:00 In diesem Abschnitt erläutert Ron Dagdag den Prozess der Erstellung und Bereitstellung eines ONNX-Modells. Er vergleicht den Prozess mit dem Backen von Brot und erklärt, dass Datenwissenschaftler, genau wie das Brotbacken ein Geheimrezept erfordert, mit verschiedenen Kombinationen experimentieren, um das richtige Modell zu erstellen, das zu dem spezifischen Datensatz passt. Dagdag erklärt, dass ein ONNX-Modell ein Diagramm von Operationen ist, das mit der Netron-App visualisiert werden kann. Er nennt drei Möglichkeiten zum Erstellen des Modells, darunter die Verwendung des ONNX-Modellzoos, des benutzerdefinierten Azure-Vision-Dienstes für die Bildklassifizierung, und die Konvertierung eines vorhandenen Modells. Dagdag schlägt vor, dass der einfachste Weg, mit einem Modell zu experimentieren, die Verwendung des benutzerdefinierten Vision-Dienstes ist, der das Hochladen, Beschriften und Verwenden eines Datensatzes zum Erstellen eines benutzerdefinierten ONNX-Modells ermöglicht.

  • 00:15:00 In diesem Abschnitt erklärt Ron Dagdag, wie Sie vorhandene Modelle für maschinelles Lernen in ONNX konvertieren und in ONNX-Dateien speichern. Er bietet einfache Beispiele mit PyTorch und Keras sowie Befehlszeilentools für TensorFlow und Scikit-learn. Er spricht auch über die Bedeutung der Verwaltung und Registrierung der Modelle, um sicherzustellen, dass die richtige Version im Bereitstellungsprozess verwendet wird. Dagdag betont, dass Softwareingenieure Datenwissenschaftler befähigen können, indem sie die notwendigen Fähigkeiten zur Verfügung stellen, um maschinelle Lernmodelle in bestehende Anwendungen zu integrieren und sie so für Unternehmen nützlich zu machen.

  • 00:20:00 In diesem Abschnitt erörtert der Referent Bereitstellungsoptionen für neuronale Netze, einschließlich der Bereitstellung auf einer VM oder einem Gerät wie iOS oder Android. Der Unterschied zwischen Cloud- und Edge-Bereitstellung wird ebenfalls hervorgehoben, indem die Analogie verwendet wird, dass McDonald's sein Brot in einer Fabrik backt, im Gegensatz zu Subway, das es im Restaurant backt. Die ONNX-Laufzeit wird als Open-Source-Tool eingeführt, das für Rückschlüsse auf ONNX-Modelle in JavaScript, Node und React Native verwendet werden kann. Der Referent stellt dann eine Demo zur Visualisierung eines ONNX-Modells in einer Knotenanwendung bereit und geht kurz darauf ein, wie das Modell mithilfe von .NET Interactive und einem Python-Notebook trainiert und in ONNX konvertiert wurde.

  • 00:25:00 In diesem Abschnitt erklärt Ron Dagdag, wie er ein ONNX-Modell aus seinen NuGet-Paketen erstellt, um ein Modell mit Microsoft ML zu trainieren. Er verwendet von Microsoft bereitgestellte Daten, die einen Output basierend auf einem Inputfaktor vorhersagen – in diesem Fall Benutzererfahrung und Gehalt basierend auf jahrelanger Erfahrung. Nachdem er das Modell trainiert hat, generiert es eine ONNX-Datei, die er dann in eine JavaScript-Anwendung integriert, indem er eine Sitzung erstellt und die Feeds weitergibt. Sobald die Feeds in der Sitzung eingerichtet sind, führt er sie aus und verwendet die Punktzahl. ausgegeben, um die Vorhersageergebnisse anzuzeigen. Dagdag verwendet ONNX Runtime Node für die Laufzeitumgebung, um die JavaScript-Anwendung auszuführen.

  • 00:30:00 In diesem Abschnitt erklärt Ron Dagdag, wie Modelle für maschinelles Lernen im Browser mit ONNX Runtime Web ausgeführt werden, einer JavaScript-Laufbibliothek, die Webassembly- und WebGL-Technologien verwendet. Das Ausführen von Modellen im Browser ist schneller, sicherer und billiger, da es lokal ausgeführt wird und nicht auf eine Internetverbindung angewiesen ist. Ron erklärt auch, dass Sie keine großen Modelle im Browser ausführen sollten, und er zeigt anhand eines einfachen Beispiels, wie Sie ein vorhandenes ONNX-Modell in einem neuronalen Netzwerk ausführen, in dem er Eingaben verwendet, um es an das Modell zu übergeben, und eine Vorhersageausgabe erhält.

  • 00:35:00 In diesem Abschnitt demonstriert Dagdag den Prozess der Erstellung und Integration eines ONNX-Modells in einem Browser. Als Beispiel verwendet er ein ONNX-Modell, das in der Lage ist, Emotionen aus einem 64x64-Graustufenbild zu unterscheiden. Um das Modell für ein Bild zu verwenden, ändert Dagdag zunächst die Größe des Bilds, bereitet es vor und konvertiert es dann in einen Tensor. Er lädt das ONNX-Modell in drei Schritten, erstellt eine Sitzung, speist die Eingabe in das Modell und verarbeitet die Ausgabe, um die im Bild erkannten Emotionen anzuzeigen. Dagdag merkt an, dass der Prozess der Integration eines ONNX in eine Browseranwendung das Erstellen einer Sitzung, das Übergeben an session.run und das Verarbeiten der Ausgabe umfasst.

  • 00:40:00 In diesem Abschnitt erörtert Ron Dagdag die verschiedenen Ressourcen und Demos, die zum Experimentieren mit ONNX verfügbar sind, wie z. B. die MNIST-Demo, mit der Benutzer eine Zahl ziehen können, um zu sehen, ob das Modell sie genau klassifizieren kann. Er erwähnt auch, dass ONNX mit React Native auf Android- und iOS-Plattformen verwendet werden kann, aber es muss in ein für Mobilgeräte optimiertes Format konvertiert werden. ONNX ist mit verschiedenen Plattformen wie Windows 10, Mac, Ubuntu, iOS, Android kompatibel und kann mit Webassembly oder Webgl verwendet werden. Ron betont, wie wichtig es ist, ONNX Runtime zu verwenden, um das Modell effizient auf der Zielplattform auszuführen und zu trennen, was für Training und Inferenz verwendet wird. Er erwähnt auch, dass ONNX mit Windows ML, Azure ML bereitgestellt und mit JavaScript und Python verwendet werden kann. Ron schließt mit der Aussage, dass ONNX auf verschiedenen Geräten wie Snapchat AR-Brillen ausgeführt werden kann, und ermutigt die Zuschauer, mit ONNX zu experimentieren, indem sie die verfügbaren Ressourcen und Demos verwenden.
 

Neuronale Netze mit ONNX im Browser ausführen – Ron Dagdag – NDC Melbourne 2022



Neuronale Netze mit ONNX im Browser ausführen – Ron Dagdag – NDC Melbourne 2022

Ron Dagdag teilt sein Fachwissen darüber, wie neuronale Netze in Browsern mit ONNX ausgeführt werden können. Er erörtert die Grundlagen der Programmierung und wie sie sich von maschinellem Lernen unterscheidet, die Verfügbarkeit von JavaScript und Frameworks für maschinelles Lernen und wie Modelle für maschinelles Lernen auf verschiedenen Geräten ausgeführt werden können, einschließlich Telefonen, IoTs und der Cloud. Er stellt ONNX vor, ein offenes Format für maschinelle Lernmodelle, das Modelle, die in verschiedenen Frameworks erstellt wurden, in bestehende Anwendungen in verschiedenen Programmiersprachen integrieren kann. Dagdag demonstriert, wie ONNX-Modelle erstellt, verwaltet und bereitgestellt werden, indem ONNX-Laufzeit-, Webassembly- und Web-GL-Technologien integriert werden, um ONNX-Modelle in Browsern auszuführen und gleichzeitig Leistung, Sicherheit und Kosten zu optimieren. Das Video behandelt auch das Scoring von vortrainierten Modellen auf Mobilgeräten, Kostenüberlegungen und die Vorteile einer näher am Edge ausgeführten Objekterkennung für die lokale Verarbeitung großer Datenmengen.

  • 00:00:00 In diesem Abschnitt erklärt Ron Dagdag die Grundlagen des Programmierens und wie es sich vom maschinellen Lernen unterscheidet. Er erörtert die Trainingsdaten und das Framework, die zum Erstellen eines Modells erforderlich sind, das beim Inferencing verwendet wird. Er weist auch auf die Verfügbarkeit verschiedener Frameworks für JavaScript und maschinelles Lernen hin. Abschließend betont er, dass Modelle für maschinelles Lernen auf verschiedenen Geräten ausgeführt werden können, darunter Telefone, IoTs und die Cloud, und auch zu einer Feedback-Schleife zur Verbesserung des Modells werden können.

  • 00:05:00 In diesem Abschnitt stellt der Referent ONNX (Open Neural Network Exchange) vor, ein offenes Format für maschinelle Lernmodelle, das Open Source auf GitHub ist. ONNX ermöglicht die Integration von Modellen für maschinelles Lernen, die in verschiedenen Frameworks wie PyTorch und Keras erstellt wurden, mit bestehenden Anwendungen in verschiedenen Programmiersprachen wie C#, Java und JavaScript. Die Verwendung von ONNX ist besonders nützlich, wenn Sie eine hohe Inferenzlatenz und schnelle Ergebnisse benötigen, insbesondere bei der Ausführung auf IoT- oder Edge-Geräten. Darüber hinaus ermöglicht ONNX die Kombination verschiedener Modelle und Schulungen vor Ort, anstatt sie aus der Ferne zu senden. Die Tagesordnung für die Sitzung umfasst das Erstellen und Bereitstellen von ONNX-Modellen.

  • 00:10:00 In diesem Abschnitt erörtert der Referent verschiedene Möglichkeiten zum Erstellen eines ONNX-Modells für die Bereitstellung. Ein Weg führt über den ONNX-Modellzoo auf GitHub, wo bereits vorhandene Modelle, die unter anderem auf der Bildklassifizierung basieren, kostenlos heruntergeladen werden können. Eine andere Möglichkeit ist der Custom Vision-Dienst von Microsoft, bei dem ein Bild oder Datensatz hochgeladen, markiert und trainiert werden kann, um ein benutzerdefiniertes Modell zu erstellen, das in ein ONNX-Modell exportiert werden kann. Das Konvertieren vorhandener Modelle ist eine weitere Option, die mithilfe von Bibliotheken oder Tools wie der PyTorch-Bibliothek oder den ONNX ML-Tools erfolgen kann. Der Referent betont, wie wichtig es ist, dass ein Datenwissenschaftler experimentiert und den besten Ansatz herausfindet, um das effektivste Modell für die Daten eines Unternehmens zu erstellen.

  • 00:15:00 In diesem Abschnitt erläutert Ron Dagdag den Prozess zum Erstellen und Verwalten von Modellen für maschinelles Lernen mithilfe von Azure Machine Learning, wobei Modelle wie ein Github-Repository für Codeänderungen registriert und verwaltet werden können. Er demonstriert auch, wie man ein ML-Modell mit ml.net in Visual Studio Code erstellt und es über eine Befehlszeilenschnittstelle nach ONNX exportiert, die eine model.onnx-Datei generiert, die in der ONNX-Netron-App geöffnet werden kann.

  • 00:20:00 In diesem Abschnitt erläutert Ron Dagdag, wie ONNX-Modelle nach ihrer Erstellung bereitgestellt werden. Er erklärt, dass die Bereitstellung für die Integration der Modelle in Anwendungen von entscheidender Bedeutung ist und Entwickler überlegen müssen, ob sie das Modell in der Cloud oder am Rand ausführen möchten. Bei der Ausführung in der Cloud müssen Entwickler entscheiden, in welchem Rechenzentrum sie bereitgestellt werden sollen, während die Bereitstellung am Rand bedeutet, dass das Modell näher am Benutzer ausgeführt wird, z. B. auf einem Telefon oder Browser. Dagdag weist auf die Vorteile der Ausführung des Modells am Edge hin, wie z. B. Flexibilität, und die Bedeutung des Aufbaus von Systemen, um Geld zu sammeln oder Daten zur Verarbeitung und Erstellung von Geschäftsregeln weiterzugeben.

  • 00:25:00 In diesem Abschnitt spricht der Redner über ONNX Runtime, eine leistungsstarke Inferenz-Engine für ONNX-Modelle, die Open Source und vollständig kompatibel mit der ONNX ML-Spezifikation ist. Mit der ONNX-Laufzeit können Entwickler verschiedene Plattformen und Architekturen auswählen, um ihre Modelle auszuführen, einschließlich Webbrowser, iOS, Android, Mac und verschiedene APIs. Der Referent demonstriert, wie die ONNX-Laufzeit mit node.js und Webassembly verwendet wird, um ein ONNX-Modell in den Speicher zu laden, Eingabedaten zu übergeben und die Ausgabe zu erhalten. Sie erklären auch, wie die ONNX-Laufzeit eine effiziente Verarbeitung ermöglicht, indem nur die für die Berechnung erforderlichen Daten weitergegeben werden, während der Rest ignoriert wird.

  • 00:30:00 In diesem Abschnitt erklärt Ron Dagdag, wie ein mit ml.net erstellter und nach ONNX exportierter Knoten in eine serverseitige JavaScript-Anwendung integriert wird. Durch die Verwendung von Webassembly- und Webgl-Technologien kann das ONNX-Modell sowohl auf der CPU als auch auf der GPU ausgeführt werden, was zu schnellerer Leistung, erhöhter Sicherheit, Offline-Nutzung und geringeren Kosten führt. Während die Integration des Modells in den Browser viele Vorteile hat, können große Modellgrößen und Hardwareanforderungen die Benutzererfahrung beeinträchtigen, sodass eine Vereinfachung und Berücksichtigung des Geräts erforderlich ist. React-Entwicklern steht auch eine React-Vorlage zur Verfügung.

  • 00:35:00 In diesem Abschnitt demonstriert Ron Dagdag, wie man ein neuronales Netzwerk im Browser mit ONNX betreibt. Er zeigt eine Demo eines ONNX-Modells, das er aus dem ONNX-Modellzoo heruntergeladen hat und das Emotionen in einem Bild erkennt. Das ONNX-Laufzeitweb wird verwendet, um das Bild hochzuladen und zu verarbeiten. Das Modell erfordert ein Eingabebild der Größe 64 x 64, sodass Ron die Größe des Bilds ändert und es in Graustufen konvertiert, bevor es mit ort.tensor in einen Tensor konvertiert wird. Die Ausgabe ist ein Tensor von 1x8, der die im Bild erkannten Emotionen enthält.

  • 00:40:00 In diesem Abschnitt erläutert der Referent, wie man neuronale Netze in einem Browser mit ONNX zum Laufen bringt. Er erklärt, dass die drei Schritte zum Laden eines ONNX-Modells in den Speicher darin bestehen, es zu laden, Eingabeparameter basierend auf dem Modell zu erstellen und die Sitzung auszuführen, um Ergebnisse zu erhalten. Er erläutert auch den Prozess des Scorings eines vortrainierten Modells auf mobilen Geräten mit React Native, bei dem das ONNX-Modell in ein optimiertes mobiles Modell namens mobile.ort konvertiert wird. Die ONNX-Laufzeit ist mit verschiedenen Plattformen kompatibel, darunter Windows 10, Mac OS, Ubuntu, iOS, Android, Chrome, Edge, Safari und Electron. Der Referent betont, dass es entscheidend ist, die Anwendungsfälle für die verschiedenen Pipelines der Inferenz und des Modelltrainings zu verstehen, und stellt einen Link zu seinem GitHub für diejenigen bereit, die mehr erfahren möchten.

  • 00:45:00 In diesem Abschnitt spricht der Redner über die Verwendung von ONNX, um maschinelles Lernen auf Snapchats Brillen auszuführen, die über Objekterkennungs- und Segmentierungsfunktionen verfügen. Er erläutert auch, wie PyTorch- und TensorFlow-Modelle mithilfe von ONNX in Anwendungen integriert werden können, da dies als Mittelweg für die Konvertierung zwischen verschiedenen Frameworks dient. Er schlägt vor, die Kosten der Datenverarbeitung bei der Entscheidung zu berücksichtigen, ob ein Gerät oder ein intelligentes Gerät für IoT-Anwendungen verwendet werden soll, und stellt fest, dass das Senden großer Datenmengen teuer werden kann. Der Referent empfiehlt die Optimierung durch den Einsatz von Modellen, die in ONNX konvertiert werden können, und erwähnt den zusätzlichen Aufwand, wenn benutzerdefinierte Operatoren noch nicht abgebildet sind.

  • 00:50:00 In diesem Abschnitt des Videos erklärt Ron Dagdag die Vorteile der Ausführung der Objekterkennung näher am Rand als in der Wolke. Die Verarbeitung erfolgt lokal, was ideal ist, wenn mit großen Datenmengen gearbeitet wird. Das Senden der Ergebnisse der Rückschlüsse an Ihren Event Hub oder Stream anstelle der Rohdaten selbst kann ebenfalls zur Optimierung des Prozesses beitragen.
Making neural networks run in browser with ONNX - Ron Dagdag - NDC Melbourne 2022
Making neural networks run in browser with ONNX - Ron Dagdag - NDC Melbourne 2022
  • 2022.10.18
  • www.youtube.com
The world of machine learning frameworks is complex. What if we can use the lightest framework for inferencing on edge devices? That’s the idea behind ONNX f...
 

Linux Foundation Artificial Intelligence & Data Day – ONNX Community Meeting – 21. Oktober 2021

Emma Ning (Microsoft) ONNX Runtime Web für In-Browser-Inferenz


001 ONNX 20211021 Ning ONNX Runtime Web für In-Browser-Inferenz

Emma, Produktmanagerin des Microsoft AI Framework-Teams, stellt ONNX Runtime Web vor, eine neue Funktion in ONNX Runtime, die es JavaScript-Entwicklern ermöglicht, Modelle für maschinelles Lernen in einem Browser auszuführen und bereitzustellen, mit zwei Backends, einschließlich Webassembly für CPU und WebGL für GPU. Das Webassembly-Backend kann jedes ONNX-Modell ausführen, Multithreading und SIMD nutzen und die meisten Funktionen unterstützen, die die native ONNX Runtime unterstützt, während das WebGL-Backend eine reine JavaScript-basierte Implementierung mit WebGL-APIs ist. Der Redner erörtert auch die Kompatibilität von ONNX-Operatoren mit beiden Backends, stellt Codeausschnitte zum Erstellen einer Inferenzsitzung und zum Ausführen eines Modells bereit und präsentiert eine Demo-Website mit mehreren In-Browser-Bildmodellszenarien, die vom MobileNet-Modell unterstützt werden. Der Sprecher räumt jedoch auch ein, dass es noch Raum für Verbesserungen gibt, um die Leistung und den Speicherverbrauch von ONNX Runtime Web zu verbessern und die unterstützten ONNX-Operatoren zu erweitern.

  • 00:00:00 In diesem Abschnitt stellt Emma, eine Produktmanagerin des Microsoft AI Framework-Teams, ONNX Runtime Web vor, eine neue Lösung für Inferenz im Browser. Die Idee des maschinellen Lernens im Browser hat an Bedeutung gewonnen, da sie eine plattformübergreifende Portabilität mit Systemimplementierung über den Browser ermöglicht, die Privatsphäre der Benutzer schützt und die Leistung beschleunigt, ohne Daten an den Server zu senden. ONNX Runtime Web ist eine neue Funktion in ONNX Runtime, die es JavaScript-Entwicklern ermöglicht, Modelle für maschinelles Lernen in einem Browser auszuführen und bereitzustellen, mit verbesserter Inferenzleistung, Modellabdeckung und Entwicklungserfahrung. Die Architektur von ONNX Runtime Web umfasst zwei Backends, einschließlich Webassembly für CPU und WebGL für GPU, die es ONNX Runtime Web ermöglichen, die Inferenz sowohl auf CPUs als auch auf GPUs zu beschleunigen. Das Webassembly-Back-End kann jedes ONNX-Modell ausführen, Multithreading und SIMD nutzen und die meisten Funktionen unterstützen, die die native ONNX-Laufzeit unterstützt. Das WebGL-Backend hingegen ist eine reine JavaScript-basierte Implementierung mit WebGL-APIs, die direkten Zugriff auf die GPU des Computers bieten und viele Optimierungstechniken ermöglichen, um die Leistung weiter auf das Maximum zu steigern.

  • 00:05:00 In diesem Abschnitt erörtert der Referent die Kompatibilität von ONNX-Operatoren sowohl mit den WebAssembly- als auch mit den WebGL-Backends, die die beliebtesten Plattformen in der Webwelt unterstützen. Sie bieten einen Link zu einer Tabelle, die die kompatiblen Plattformen und die unterstützten ONNX-Operatoren anzeigt. Sie stellen auch Codeausschnitte bereit, die zeigen, wie eine Inferenzsitzung erstellt und ein Modell mit dem ONNX-Laufzeitweb ausgeführt wird, was eine konsistente Entwicklungserfahrung für die serverseitige und clientseitige Beeinflussung ermöglicht. Der Redner teilt dann eine Demo-Website mit mehreren interessanten In-Browser-Vision-Szenarien, die von Bildmodellen unterstützt werden, wie z. B. das Ausführen des MobileNet-Modells in einem Browser mit der Option, verschiedene Backends auszuwählen. Der Redner räumt ein, dass es noch Raum für Verbesserungen gibt, wenn es darum geht, weitere ONNX-Operatoren hinzuzufügen und die Webleistung und den Speicherverbrauch der ONNX-Laufzeit zu optimieren, sowie an weiteren Demos zu arbeiten, um seine Fähigkeiten zu demonstrieren.
001 ONNX 20211021 Ning ONNX Runtime Web for In Browser Inference
001 ONNX 20211021 Ning ONNX Runtime Web for In Browser Inference
  • 2021.11.05
  • www.youtube.com
LF AI & Data Day - ONNX Community Meeting - October 21, 2021Emma Ning (Microsoft)ONNX Runtime Web for In Browser Inference
 

Web and Machine Learning W3C Workshop Sommer 2020

ONNX.js – Eine Javascript-Bibliothek zum Ausführen von ONNX-Modellen in Browsern und Node.js



ONNX.js – Eine Javascript-Bibliothek zum Ausführen von ONNX-Modellen in Browsern und Node.js

ONNX.js ist eine JavaScript-Bibliothek, mit der Benutzer ONNX-Modelle in Browsern und Node.js ausführen können. Es optimiert das Modell sowohl auf der CPU als auch auf der GPU mit verschiedenen Techniken und unterstützt Profilerstellung, Protokollierung und Debugging für eine einfache Analyse. Die Bibliothek unterstützt alle wichtigen Browser und Plattformen und ermöglicht die Parallelisierung mit Web Workern für eine bessere Leistung auf Multicore-Maschinen. Die Verwendung von WebGL für den Zugriff auf GPU-Funktionen bietet erhebliche Leistungsverbesserungen und reduziert die Datenübertragung zwischen CPU und GPU. Obwohl weitere Optimierung und Betreiberunterstützung erforderlich sind, ermutigt der Redner Community-Beiträge zur Verbesserung von ONNX.js.

  • 00:00:00 In diesem Abschnitt spricht Emma von Microsoft über ONNX.js, eine JavaScript-Bibliothek, die zum Ausführen von ONNX-Modellen in Browsern und Node.js verwendet wird. JavaScript ist eine sehr wichtige Sprache, die von 95 % der Websites verwendet wird, und ist die beliebteste clientseitige Sprache, die für Elektron-Apps wie GitHub Desktop und VS Code verwendet wird. Trotz der Wahrnehmung, dass JavaScript nicht für High-Performance-Computing entwickelt wurde, gibt es Techniken, mit denen JavaScript und maschinelles Lernen gut zusammenarbeiten können. Ein Vorteil der Verwendung von clientseitigem maschinellem Lernen ist der Schutz der Privatsphäre bei gleichzeitiger Ermöglichung von Echtzeitanalysen, die Ermöglichung einer konsistenten KI-Erfahrung plattformübergreifend und die Beschleunigung der Leistung durch die Verwendung von GPUs, ohne dass Bibliotheken oder Treiber installiert werden müssen. ONNX.js ähnelt TensorFlow.js und stellt Machine-Learning-Modelle im ONNX-Format bereit, das ein Standard-Framework ist.

  • 00:05:00 In diesem Abschnitt lernen wir die ONNX-Community kennen, die 2017 von Microsoft und Facebook gegründet wurde, um einen fensterneutralen, offenen Formatstandard bereitzustellen. ONNX.js ist eine reine JavaScript-Implementierung von ONNX, die es Benutzern ermöglicht, ONNX-Modelle in einem Browser auszuführen und JS zu laden. Es optimiert das Modell sowohl auf der CPU als auch auf der GPU mit mehreren fortschrittlichen Technologietechniken und verfügt über drei aktivierte Back-Ends, zwei für die CPU mit JavaScript und WebAssembly und eines für die GPU mit WebGL. ONNX.js bietet auch einen Profiler, Logger und andere Dienstprogramme zum einfachen Debuggen und Analysieren und unterstützt alle Browser auf den wichtigsten Plattformen, um KI-Anwendungen einfach plattformübergreifend zu erstellen. Schließlich ermöglicht die Verwendung von Web Workern eine Parallelisierung innerhalb schwerer Operatoren, die die Leistung auf Maschinen mit Multicore erheblich verbessert.

  • 00:10:00 In diesem Abschnitt erörtert der Referent die Vorteile der Verwendung von WebGL, einer beliebten Standard-API für den Zugriff auf GPU-Funktionen, um die Grafikerstellung in JavaScript zu beschleunigen. Die Verwendung von WebGL ermöglicht viele Optimierungen zur Reduzierung der Datenübertragung zwischen CPU und GPU sowie zur Reduzierung der GPU-Verarbeitungszyklen, was zu erheblichen Leistungsverbesserungen führt. Der Referent bietet auch ein End-to-End-Flow-Beispiel für die Verwendung von ONNX.js zum Ausführen eines Modells und demonstriert die Verwendung von ONNX.js mit einem HTML-Beispiel sowie npm- und Boundary-Tools. Darüber hinaus erörtert der Redner die Notwendigkeit weiterer Optimierung und Unterstützung für mehr ONNX-Betreiber und ermutigt Community-Beiträge zur Verbesserung von ONNX.js.
ONNX.js - A Javascript library to run ONNX models in browsers and Node.js
ONNX.js - A Javascript library to run ONNX models in browsers and Node.js
  • 2020.09.30
  • www.youtube.com
by Emma Ning (Microsoft)ONNX.js is a Javascript library for running ONNX models on browsers and on Node.js, on both CPU and GPU. Thanks to ONNX interoperabil...
 

So führen Sie PyTorch-Modelle im Browser mit ONNX.js aus



So führen Sie PyTorch-Modelle im Browser mit ONNX.js aus

Das Video erläutert die Vorteile der Ausführung eines PyTorch-Modells in einem Browser mit JavaScript und ONNX.js, einschließlich besserer Antwortzeiten, Skalierbarkeit, Offline-Verfügbarkeit und verbesserter Privatsphäre der Benutzer. Das Video führt auch durch den Prozess der Konvertierung eines PyTorch-Modells in ein ONNX-Modell, des Ladens in eine ONNX.js-Sitzung und des Ausführens der Inferenz im Browser. Datenvorbereitung, Debugging und Erweiterungen werden ebenfalls besprochen, und der Referent demonstriert, wie das Modell mithilfe von Datenerweiterungstechniken robuster gemacht werden kann. Das Video bietet Beispielcode und eine Demo-Website, auf der Benutzer das Modell selbst ausprobieren können.

  • 00:00:00 In diesem Abschnitt erläutert Eliot Wait die Vorteile der Ausführung eines PyTorch-Modells in einem Browser mit JavaScript. Erstens bietet die Ausführung des Modells im Browser eine bessere Reaktionszeit und vermeidet die Latenz beim Senden von Daten zu und von einem Server. Zweitens erleichtert das Einrichten einer Website mit nur statischen Dateien die Skalierung und den Umgang mit mehr Benutzern. Drittens wird das Modell offline funktionieren, d. h. solange die JavaScript-Dateien bereits installiert sind, können sie auch ohne Internetzugang verwendet werden. Viertens verbessert das Hosten des Modells im Browser die Privatsphäre der Benutzer, da Daten nicht mit einem Server geteilt werden. Wenn das Modell jedoch zu groß ist oder die Berechnung auf Benutzergeräten zu lange dauert, wird empfohlen, es auf einem Server zu hosten. Schließlich veranschaulicht Eliot, wie PyTorch-Modelle mithilfe eines Mnest-Modells für die handschriftliche Ziffernerkennung einfach in JavaScript konvertiert werden können.

  • 00:05:00 In diesem Abschnitt erklärt das Video den Unterschied zwischen der Verwendung von TensorFlow.js und ONNX.js und schlägt vor, TensorFlow.js für das Training und ONNX.js für die Inferenz zu verwenden. ONNX steht für „Open Neural Network Exchange“ und definiert ein gemeinsames Dateiformat für Machine-Learning-Modelle. Das Video führt dann durch den Prozess der Konvertierung eines PyTorch-Modells in ein ONNX-Modell mithilfe der Methode „torch.onnx.export“ und zeigt, wie das Modell in eine ONNX.js-Inferenzsitzung geladen wird, um die Inferenz darauf im Browser auszuführen. Das Video enthält Beispielcode zum Erstellen der Sitzung, zum Laden des Modells und zum Ausführen der Inferenz für eine Dummy-Eingabe, die eine schreibgeschützte Ausgabezuordnung zurückgibt.

  • 00:10:00 In diesem Abschnitt erläutert das Video, wie ein Fehler behoben wird, der auftritt, wenn versucht wird, das PyTorch-Modell im Browser mit ONNX.js auszuführen. Konkret heißt es in der Fehlermeldung, dass der Log-Softmax-Operator derzeit nicht von ONNX.js unterstützt wird, aber der Videomoderator zeigt, dass stattdessen der Softmax-Operator unterstützt wird. Das Video stellt auch eine Demo-Website vor, auf der Benutzer Zahlen zeichnen und die Ausgabevorhersagen des PyTorch-Modells sehen können. Der Moderator weist jedoch darauf hin, dass es beim Laden des Modells ein Problem gibt, das behoben wird, indem sichergestellt wird, dass das Modell geladen wurde, bevor Daten durchlaufen werden. Schließlich präsentiert das Video eine aktualisierte Version des Modellcodes, der eine Bilddatenliste in einen 280x280x4-Tensor umformt, wodurch das Modell Ziffernwerte basierend auf Pixeleingaben vorhersagen kann.

  • 00:15:00 In diesem Abschnitt des Videos erklärt der Referent, wie Daten für ein PyTorch-Modell vorbereitet werden, das im Browser mit ONNX.js ausgeführt wird. Sie extrahieren den vierten Kanal eines gezeichneten Bildes, um es in die erwartete Form für PyTorch-Bilder umzuformen. Sie wenden auch den Average-Pool-Operator an und dividieren den Tensor durch 255, um die Bildwerte innerhalb des erwarteten Bereichs anzupassen. Außerdem erklären sie, wie die Daten normalisiert werden, indem der Mittelwert des Datensatzes subtrahiert und durch die Standardabweichung dividiert wird. Der Sprecher identifiziert einen Fehler aufgrund der alten Form des Dummy-Eingangs und erklärt, wie er behoben werden kann. Sie erklären auch, wie man Daten debuggt und anwendet, um das Modell genauer zu machen, indem die Bilddaten gedreht und übersetzt werden, bevor sie durch das Modell geleitet werden.

  • 00:20:00 In diesem Abschnitt demonstriert der Referent, wie das Modell robuster gemacht werden kann, indem dem Trainingsskript Datenerweiterung hinzugefügt wird. Diese Erweiterungen umfassen Übersetzungen, Skalierung und Scherung der Ziffern, wodurch schwierigere Beispiele entstehen, aus denen das Modell lernen kann. Der Sprecher trainiert das Modell dann von Grund auf neu und testet es, wobei er feststellt, dass es zwar noch verbessert werden könnte, die zusätzliche Datenerweiterung es jedoch insgesamt robuster gemacht hat. Über den Link in der Videobeschreibung lädt der Referent die Zuschauer ein, das Modell selbst auszuprobieren.
How to Run PyTorch Models in the Browser With ONNX.js
How to Run PyTorch Models in the Browser With ONNX.js
  • 2020.02.13
  • www.youtube.com
Run PyTorch models in the browser with JavaScript by first converting your PyTorch model into the ONNX format and then loading that ONNX model into your webs...
 

Ziffernklassifizierung auf CPU mit ONNX Runtime-Demo



Ziffernklassifizierung auf CPU mit ONNX Runtime-Demo

Open Neural Network Exchange (ONNX) bietet ein Open-Source-Format für Deep-Learning- und Machine-Learning-Modelle. Wir können unsere Modelle in jedem beliebigen Framework trainieren und das Modell dann in das ONNX-Format konvertieren. Mit der ONNX-Laufzeit von Microsoft können wir eine Inferenzsitzung mit onnx-Modellen in beliebigen Umgebungen ausführen, was uns eine etwas schnellere Implementierung ermöglicht. Hier ist eine einfache Demonstration desselben. Das Modell wird mithilfe des MNIST-Datensatzes mit PyTorch darauf trainiert, Ziffern zu erkennen. Ich führe eine Inferenzsitzung auf einer Linux-CPU aus.

https://github.com/NagarajSMurthy/Digit-recognizer

Digit classification on CPU with ONNX Runtime demo
Digit classification on CPU with ONNX Runtime demo
  • 2020.09.06
  • www.youtube.com
Open Neural Network Exchange (ONNX) provides an open-source format for both deep learning and machine learning models.We can train our models in whichever fr...
 

Milliarden von NLP-Inferenzen auf der JVM mit ONNX und DJL



Milliarden von NLP-Inferenzen auf der JVM mit ONNX und DJL

Der CTO eines Media-Intelligence-Unternehmens erläutert, wie sie die JVM und DJL und Hugging Face für die NLP-Tokenisierung in der Pipeline für maschinelles Lernen verwenden, um die Medienlandschaft für verschiedene Anwendungsfälle zu durchsuchen. Da ihre Produktfunktionen darauf hingearbeitet haben, sind ihr maschinelles Lern- und Modellierungssystem zu wesentlichen Bestandteilen geworden, um alles am Laufen zu halten, da sie eine Größenordnung erreicht haben, in der die CPU nicht mehr ausreichen konnte. Sie haben von der Verwendung eines 32-Bit-Gleitkommamodells auf 16-Bit umgestellt, was zu einer Steigerung der Effektivität um 3 % führte, aber während des Prozesses mit Konvertierungsfehlern und seltenen Speicherlecks konfrontiert war, die sie durch Ersetzen mehrerer Implementierungen behoben haben. Sie investierten in Robustheit, indem sie GPU-gestützte CI hinzufügten und einen fortschrittlichen Prometheus-Logik-Stack einrichteten, der die Latenz und Tokenisierungslatenz verschiedener Inferenzen überwacht. Ihre Zukunftspläne umfassen die Verbesserung der GPU-Effizienz und das Hinzufügen weiterer Modelle zum System durch die Erstellung eines Multi-GPU-Setups.

  • 00:00:00 In diesem Abschnitt des Videos erläutert Viet, der CTO eines Medienaufklärungsunternehmens, wie die Infrastruktur seines Unternehmens auf der JVM basiert und wie sie damit die Medienlandschaft für verschiedene Anwendungsfälle wie die Produkteinführung durchforsten Tracking und Reputationstracking. Er erklärt, dass ihr System von JVM betrieben wird und sie DJL und Hugging Face für die NLP-Tokenisierung in der Pipeline für maschinelles Lernen verwenden. Das maschinelle Lern- und Modellierungssystem des Unternehmens ist nicht mehr nur ein nettes Extra, sondern ein wesentlicher Bestandteil, um alles am Laufen zu halten, während die Produktfunktionen darauf hinarbeiten. Sie haben eine Größenordnung erreicht, in der die CPU nicht mehr ausreichen könnte, also betrachten sie Cubanates als ein System, um es horizontal zu skalieren. Ihr System liefert Milliarden von Inferenzen pro Tag, sie beschleunigen die GPU und verwenden 8 Millionen Websites, um ein ganzes Web-Crawler-System aufzubauen.

  • 00:05:00 In diesem Abschnitt diskutiert der Referent seine Erfahrungen bei der Arbeit mit dem ONNX-Ökosystem. Sie sprechen über die Umstellung von der Verwendung des 32-Bit-Gleitkommamodells auf 16-Bit, was zu einer Steigerung der Effektivität um 3 % führte. Bei diesem Prozess traten jedoch Konvertierungsfehler auf, die zu einer unerwarteten Ausgabe des ONNX-Modells führten. Sie stießen auch auf seltene Speicherlecks, die sie durch Ersetzen mehrerer Implementierungen lösten. Der Redner erklärt, dass sie in Robustheit investiert haben, indem sie GPU-gestützte CI hinzugefügt und einen fortschrittlichen Prometheus-Logikstapel eingerichtet haben, der die Latenz und Tokenisierungslatenz verschiedener Inferenzen überwacht. Abschließend besprechen sie ihre Zukunftspläne, darunter die Verbesserung der GPU-Effizienz und das Hinzufügen weiterer Modelle zum System durch die Erstellung eines Multi-GPU-Setups.
Billions of NLP Inferences on the JVM using ONNX and DJL
Billions of NLP Inferences on the JVM using ONNX and DJL
  • 2022.07.13
  • www.youtube.com
This session outlines the recently rolled out Hypefactors' MLOps infrastructure designed for billions NLP inferences a day. The workload serves media intelli...