Lernen mit ONNX für den Handel - Seite 3

 

Netron ist ein Tool zum Anzeigen von Modellen für neuronale Netzwerke, Deep Learning und maschinelles Lernen





 

Kurzer Blick in Netron



Kurzer Blick in Netron

Im Video gibt der Moderator einen Überblick über Netron, ein Tool zum Anzeigen und Analysieren von Modellen für maschinelles Lernen . Netron unterstützt verschiedene Formate und kann auf mehreren Plattformen installiert werden. Der Moderator demonstriert, wie man Netron startet und durch mehrere Beispielmodelle navigiert, wobei er die Fähigkeiten und Einschränkungen des Tools hervorhebt. Während Netron für die Erforschung einfacherer Netzwerkarchitekturen nützlich ist, schlägt der Moderator vor, dass es von zusätzlichen Funktionen zur Visualisierung komplexerer Modelle profitieren könnte. Insgesamt empfiehlt der Referent Netron als hilfreiches Tool zum Untersuchen und Verstehen von Machine-Learning-Modellen.

Quick look into Netron
Quick look into Netron
  • 2022.05.02
  • www.youtube.com
We look into the machine learning network viewer Netron.Github repository:https://github.com/lutzroeder/netronPlease follow me on Twitterhttps://twitter.com/...
 

Netron - Netzwerkvisualisierungstool | Maschinelles Lernen | Datenmagie



Netron - Netzwerkvisualisierungstool | Maschinelles Lernen | Datenmagie

Netron ist eine Python-Bibliothek, die Benutzern hilft, die Struktur und Parameter von Deep-Learning-Modellen visuell zu erkunden und zu untersuchen. Es ist eine Open-Source-Bibliothek, die Beispielmodelle für die Analyse bereitstellt und einen einfachen Installationsprozess hat. Mit nur zwei Codezeilen können Benutzer Netron installieren und damit die neuronale Netzwerkstruktur, Aktivierungsfunktionen, Pooling-Schichten, Faltungsschichten und alle Attribute visualisieren, die auf jeder Schicht eines bestimmten maschinellen Lernmodells übergeben werden. Netron bietet eine benutzerfreundliche Oberfläche, mit der Benutzer Visualisierungen als PNG-Dateien exportieren und verschiedene Funktionen und Optionen erkunden können.

  • 00:00:00 In diesem Abschnitt lernen wir Netron kennen, eine Python-Bibliothek, die uns hilft, die interne Struktur von Deep-Learning-Modellen zu visualisieren. Wir können Netron verwenden, um die spezifischen neuronalen Netzwerkschichten und Parameter zu untersuchen, die in einem bestimmten Modell verwendet werden. Netron ist eine Open-Source-Bibliothek, die Beispielmodelle für die Analyse bereitstellt und einen einfachen Installationsprozess hat. Nach der Installation können Benutzer die Netron-Bibliothek importieren und die „Start“-Methode verwenden, um eine Modelldatei für maschinelles Lernen zu übergeben. Netron erstellt dann eine visuelle Darstellung der Modellstruktur, die es den Benutzern ermöglicht, jede Schicht und ihre Parameter visuell zu erkunden.

  • 00:05:00 In diesem Abschnitt des Videos demonstriert der Moderator die Verwendung von Netron, einem Netzwerkvisualisierungstool für Modelle des maschinellen Lernens. Das Tool kann die neuronale Netzwerkstruktur, Aktivierungsfunktionen, Pooling-Schichten, Faltungsschichten und alle Attribute visualisieren, die auf jeder Schicht eines bestimmten maschinellen Lernmodells übergeben werden. Mit nur zwei Codezeilen kann das Tool auf einem lokalen Computer installiert oder online auf der netron.app-Website aufgerufen werden. Benutzer können die Visualisierungen als PNG-Dateien exportieren und verschiedene Funktionen und Optionen erkunden, die in der Benutzeroberfläche des Tools verfügbar sind.
Netron - Network Visualization Tool | Machine Learning | Data Magic
Netron - Network Visualization Tool | Machine Learning | Data Magic
  • 2021.08.18
  • www.youtube.com
Hello Friends, In this episode will talk about ,How to visualise a Deep Neural Network with the help of Netron API.Stay tuned and enjoy Machine Learning !!!C...
 

PyTorch, TensorFlow, Keras, ONNX, TensorRT, OpenVINO, KI-Modelldateikonvertierung



[Lernvideo] PyTorch, TensorFlow, Keras, ONNX, TensorRT, OpenVINO, KI-Modelldateikonvertierung

Der Sprecher im Video erörtert die Vorteile und Kompromisse verschiedener KI-Frameworks wie PyTorch, TensorFlow, Keras, ONNX, TensorRT und OpenVINO und empfiehlt PyTorch als bevorzugtes Framework für Training und Datenkonvertierung. Der Referent erklärt den Konvertierungsprozess, einschließlich der Konvertierung von PyTorch-Modellen in ONNX und dann in TensorRT oder OpenVINO, und warnt vor der Verwendung von TensorFlow PB-Datei und Cafe. Der Referent erörtert auch die Bedeutung der richtigen Einstellung des Gleitkommaformats und empfiehlt die Verwendung von FP 32 für die meisten Modelle. Das Video bietet Beispiele für die Modellumwandlung und ermutigt die Zuschauer, die offizielle Website für weitere Lehrvideos zu besuchen.

  • 00:00:00 In diesem Abschnitt erörtert der Redner die verschiedenen KI-Frameworks, darunter PyTorch, TensorFlow, Keras und Cafe, und erklärt die bevorzugte Methode seines Unternehmens, PyTorch zu verwenden, um das Modell als ONNX-Datei zu speichern, die es doppelt überprüft mit ihrem Datensatz mit ONNX Runtime. Wenn der Test bestanden wird, konvertieren sie das ONNX-Modell in die Formate TensorRT und OpenVINO. Der Referent warnt davor, TensorFlow PB-Datei und Cafe zu verwenden und empfiehlt, stattdessen Python mit Originaldaten und PyTorch für das Training zu verwenden. Abschließend erwähnt der Redner, dass die Inferenzmaschinen manchmal den Gleitkommawert benötigen, um richtig eingestellt zu werden.

  • 00:05:00 In diesem Abschnitt erläutert der Referent, wie sich die Wahl des Fließkommaformats auf die Geschwindigkeit und Genauigkeit der Modellkonvertierung auswirkt. Er erklärt, dass die Verwendung von FP 16 zwar die Geschwindigkeit erhöhen kann, aber zu weniger Präzision führen kann, während die Verwendung von FP 64 zu einer langsameren Geschwindigkeit, aber höherer Präzision führt. Der Referent empfiehlt die Verwendung von FP 32 für die meisten Modelle und erläutert, wie verschiedene Formate für bestimmte Arten von Datensätzen verwendet werden können, wie FP 32 und FP 64 für die medizinische Bildanalyse. Er erklärt auch, dass das Konvertieren eines Modells von FP 32 zu FP 16 zu einem Genauigkeitsverlust führen kann, der durch Kalibrierung, Löschung oder Neutraining mit FP 16 zur Verbesserung der Modellpräzision gemildert werden kann.

  • 00:10:00 In diesem Abschnitt des Videos erörtert der Redner die Kompromisse zwischen Geschwindigkeit, Präzision und Dateninformationen bei der Verwendung verschiedener KI-Frameworks wie PyTorch, TensorFlow, Keras, ONNX, TensorRT und OpenVINO. Der Referent empfiehlt die Verwendung von PyTorch und die Konvertierung der Modelle von PyTorch in ONNX mithilfe einer bereitgestellten Lösung. Anschließend erklären sie, wie die Modelle mithilfe einer anderen bereitgestellten Lösung von ONNX in TensorRT konvertiert werden. Der Referent demonstriert den Konvertierungsprozess, indem er den Code in Jupiter Lab ausführt, und zeigt, wie die konvertierten Modelldateien gefunden werden.

  • 00:15:00 In diesem Abschnitt des Videos erörtert der Sprecher die einfache Konvertierung von KI-Modellen von PyTorch zu ONNX und dann zu TensorRT oder OpenVINO und betont, dass es sich um einen einfachen Prozess handelt. Für diejenigen, die TensorFlow oder Keras verwenden, empfiehlt der Referent jedoch die Verwendung von PyTorch, um den Datensatz neu zu trainieren, da es einfacher ist, Modellkonvertierungen durchzuführen. Der Sprecher warnt davor, dass es bei der Verwendung von Keras zu Problemen kommen kann, da die Modelldateidaten nur Parameter enthalten und vor dem Import der H5-Parameterdatei zunächst die Netzwerkarchitektur erstellt werden muss. Der Redner schlägt vor, dass die ultimative Lösung für solche Probleme Café ist, aber da die Entwickler von Café zu Café 2 migriert sind und niemand es pflegt, empfiehlt der Redner die Verwendung von PyTorch als Haupt-KI-Framework.

  • 00:20:00 In diesem Abschnitt erörtert der Referent die Vorteile der Verwendung von PyTorch und die einfache Migration aufgrund seiner hohen Geschwindigkeit und verbesserten Architektur. Der Referent bietet auch ein Beispiel für die Verwendung einer Lösung zum Konvertieren eines v3-Gewichtsmodells in ein OpenVINO AIA-Modell und die leistungsfähigste Lösung zur Objekterkennung, Euro v4. Um das Beispiel zu verwenden, werden zwei Dateien für die Konvertierung benötigt, eine Euro v4 CPP-Gewichtungsdatei und eine Euro v4 CFG-Netzwerkkonfigurationsdatei. Nach der Konvertierung wird eine Haitatsu-PTH-Datei zur Verwendung im Inferenzbild generiert, um die Ergebnisse zu überprüfen. Der Referent empfiehlt, Python für das KI-Training zu verwenden und dann auf ONNX und dann auf TensorRT oder OpenVINO umzustellen. Schließlich ermutigt der Sprecher die Zuschauer, die offizielle Website für weitere Lehrvideos zu besuchen und ein kostenloses Mitglied zu werden, um jede Woche die Videoliste zu erhalten.
[Educational Video] PyTorch, TensorFlow, Keras, ONNX, TensorRT, OpenVINO, AI Model File Conversion
[Educational Video] PyTorch, TensorFlow, Keras, ONNX, TensorRT, OpenVINO, AI Model File Conversion
  • 2020.06.05
  • www.youtube.com
PyTorch, TensorFlow, Keras, ONNX, TensorRT, OpenVINO, AI model file conversion, speed (FPS) and accuracy (FP64, FP32, FP16, INT8) trade-offs.Speaker: Prof. M...
 

Wie wir ONNX in Zetane verwenden, um Machine-Learning-Projekte schneller und mit weniger Trial-and-Error abzuschließen



Wie wir ONNX in Zetane verwenden, um Machine-Learning-Projekte schneller und mit weniger Trial-and-Error abzuschließen

Patrick Saitama, Mitbegründer und CTO von Zetane Systems, erläutert den Wert der Verwendung von ONNX im neuen Produkt seines Unternehmens, um Probleme im Zusammenhang mit dem Black-Box-Problem der KI anzugehen. Die Engine von Zetane ermöglicht die Exploration und Inspektion der ONNX-Modelle, liefert Einblicke in die Interaktion des Modells mit Daten und führt zu entscheidenderen Strategien zur Verbesserung seiner Qualität. Das gegebene Beispiel zeigt, wie Zetanes Motor dabei half, ein autonomes Zugmodell zu debuggen, indem er die Funkschicht untersuchte und mehr Bilder von Tunneln hinzufügte, die als keine Hindernisse gekennzeichnet waren. Zetane enthält auch Tools zur dynamischen Untersuchung interner Tensoren und zur Erstellung von Schnappschüssen des Modells für spätere Untersuchungen. Darüber hinaus ermöglicht die neue Engine von Zetane die Installation größerer Modelle wie YOLOv3.

  • 00:00:00 Patrick Saitama, Mitbegründer und CTO von Zetane Systems, erläutert, wie Sie aus ONNX einen größeren Nutzen ziehen können, um Ihre Entwicklungszykluszeit zu verkürzen und Rätselraten zu reduzieren. Sein Unternehmen Zetane Systems mit Sitz in Montreal hat kürzlich ein neues Produkt herausgebracht, das branchenunabhängig ist und darauf abzielt, einige der Probleme im Zusammenhang mit dem Black-Box-Problem der KI anzugehen. Durch die Weitergabe von Eingabedaten an die ONNX-Modelle und die anschließende Projektion der Modelle in die Zetane-Engine können die Modelle untersucht und untersucht werden, einschließlich ihrer Architektur und ihres Berechnungsdiagramms sowie aller in jedem Operatorknoten enthaltenen Tensoren, um Fehler zu beheben und das Modell optimieren.

  • 00:05:00 Der Referent erörtert, wie die Verwendung von ONNX in Zetane tiefere Einblicke in das Modell und seine Interaktion mit Daten ermöglicht, was wiederum zu entscheidenderen Strategien zur Verbesserung der Modellqualität führt. Das angegebene Beispiel ist ein autonomes Zugmodell und wie die Betrachtung der Funkschicht in der anhaltenden Lokomotive zeigte, dass das Modell den Tunnel als Hindernis erkannte, was dazu führte, dass mehr Bilder von Tunneln hinzugefügt wurden, die als keine Hindernisse gekennzeichnet waren. Zetane enthält auch Tools zum dynamischen Untersuchen interner Tensoren und zum Erstellen von Momentaufnahmen des Modells zu bestimmten Zeitpunkten, um es später zu untersuchen und zu verbessern. Darüber hinaus wurde kürzlich die Detain-Engine eingeführt, die die Installation größerer Modelle wie YOLOv3 ermöglicht.
How we use ONNX in Zetane to complete machine learning projects faster with less trial-and-error
How we use ONNX in Zetane to complete machine learning projects faster with less trial-and-error
  • 2020.10.20
  • www.youtube.com
Get your free trial of Zetane: docs.zetane.comZetane Systems is a member of the ONNX open-standard community from the pioneering organization for open-source...
 

Was ist neu in der ONNX-Laufzeit



Was ist neu in der ONNX-Laufzeit

In diesem Vortrag werden Highlights der ONNX Runtime 1.10-1.12-Versionen vorgestellt, einschließlich Details zu bemerkenswerten Leistungsverbesserungen, Funktionen und Plattformen, einschließlich Mobil und Web. Ryan Hill ist seit 4 Jahren im AI Frameworks-Team, wo er hauptsächlich an Operator-Kernels, C-APIs und dynamisch ladenden Ausführungsanbietern gearbeitet hat. Davor arbeitete er im Office PowerPoint-Team, wo seine am häufigsten gesehene Arbeit viele der Diashow-Folienübergänge sind. Zum Spaß versucht er gerne, die neuesten C++-Features zu verwenden und dabei auf interne Compilerfehler zu stoßen.

In dem Video erläutert Softwareentwickler Ryan Hill die verschiedenen Funktionen und Aktualisierungen von ONNX Runtime, einer weit verbreiteten plattformübergreifenden Laufzeit, die auf mehrere CPU-Architekturen abzielen kann. Er hebt die neuesten Funktionen hervor, die ONNX Runtime hinzugefügt wurden, wie z. B. die Möglichkeit, op-Kernel direkt aufzurufen, und Leistungsverbesserungen wie Transpositionsoptimierer und Small-Size-Optimierung. Hill spricht auch über die Ausführungsanbieter von ONNX Runtime, die eine optimale Leistung auf verschiedener Hardware ermöglichen, und die Veröffentlichung von Mobilpaketen, die die NHWC-Konvertierung zur Laufzeit unterstützen. Das Video behandelt auch layoutabhängige Operatorunterstützung, Xamarin-Unterstützung für plattformübergreifende Apps, ONNX Runtime-Web und die ONNX Runtime-Erweiterungsbibliothek, die sich auf die Vor- und Nachbearbeitung von Modellen konzentriert, einschließlich Textkonvertierungen und mathematische Operationen, und derzeit auf NLP, Vision und Textdomänen.

  • 00:00:00 In diesem Abschnitt erläutert Ryan Hill, ein Softwareentwickler, der seit etwa vier Jahren an ONNX Runtime arbeitet, die Funktionen von ONNX Runtime und seinen neuen Versionen. Er hebt hervor, dass ONNX Runtime eine plattformübergreifende Laufzeit ist, die auf mehrere CPU-Architekturen abzielen kann und über Sprachbindungen für mehrere Programmiersprachen verfügt. Es wird von mehreren Branchen verwendet, einschließlich Microsoft, mit über 160 Modellen in der Produktion. Ryan erläutert auch die neuen Funktionen, die in den neuesten Versionen hinzugefügt wurden, wie z. B. die Möglichkeit, op-Kernel direkt von außerhalb eines Modelllaufaufrufs aufzurufen, und die Möglichkeit, externe Initialisierer als Byte-Arrays für die Modellinferenz zu speisen. Darüber hinaus spricht Ryan über Leistungsverbesserungen der neuesten Version, wie z. B. einen Transpositionsoptimierer und eine Optimierungsfunktion für kleine Größen. Schließlich hebt er die Ausführungsanbieter von ONNX Runtime hervor, die eine optimale Leistung auf verschiedener Hardware und die Veröffentlichung seiner Mobilpakete ermöglichen, die jetzt die NHWC-Konvertierung zur Laufzeit unterstützen.

  • 00:05:00 In diesem Abschnitt behandelt das Video die neuen Funktionen und Updates in der ONNX Runtime, einschließlich layoutabhängiger Operatorunterstützung und Xamarin-Unterstützung für plattformübergreifende Apps auf Android und iOS. Darüber hinaus bietet das ONNX Runtime-Web eine einzelne C++-Codebasis, die in Webassembly kompiliert ist, die schneller ist und weniger Speicher benötigt, und es gibt jetzt eine ONNX Runtime-Erweiterungsbibliothek, die sich auf die Vor- und Nachbearbeitung von Modellen konzentriert und Benutzern dies ermöglicht diese Arbeit vollständig innerhalb des Modelllaufaufrufs. Die Bibliothek umfasst Textkonvertierungen, mathematische Operationen und konzentriert sich derzeit auf NLP, Vision und Textdomänen. Das Microsoft Office-Team verwendet derzeit diese Erweiterungsbibliothek.
What's New in ONNX Runtime
What's New in ONNX Runtime
  • 2022.07.13
  • www.youtube.com
This talk will share highlights of the ONNX Runtime 1.10-1.12 releases, including details on notable performance improvements, features, and platforms includ...
 

v1.12.0 ONNX Runtime – Release-Überprüfung



v1.12.0 ONNX Runtime – Release-Überprüfung

Die Version v1.12.0 der ONNX Runtime (ORT) konzentriert sich auf Inferenzen, beinhaltet aber auch kontinuierliche Investitionen in Schulungen, wobei die Integration mit Hugging Face Optimum zur Beschleunigung mehrerer Hugging Face-Modelle führt. Zu den neuen Funktionen gehört die Möglichkeit, native ORT-Operationen in benutzerdefinierten Operationen zu verwenden und einen nativen oder Laufzeitoperator direkt aufzurufen, ohne ein Diagramm zu erstellen. Die Version umfasst auch Unterstützung für .NET 6 und die Multi-Platform App UI (MAUI) sowie Ausführungsanbieter für bestimmte Plattformen wie die Neural Processing Unit auf Android und Core ML auf iOS. Leistungsverbesserungen wurden vorgenommen, indem die Speicherzuweisungen während der Inferenz reduziert und unnötige Protokollierung eliminiert wurden. Zukünftige Verbesserungen zur Verbesserung der Cache-Lokalität und der Nutzung des Thread-Pools sind geplant.

  • 00:00:00 In diesem Abschnitt werden die neuen Funktionen und Aktualisierungen der Version 1.12 von ONNX Runtime besprochen. Dazu gehören die Abschaffung der Unterstützung für .net-Standard 1.1 und die Hinzufügung von Unterstützung für ONNX-Offset 17 und weitere auf XML-Offset 3. Eine neue Funktion ist die Fähigkeit, einzelne Operationen aufzurufen, ohne einen separaten Graphen zu erstellen, und die Unterstützung für das Einspeisen externer Initialisierer für Rückschlüsse wurde ebenfalls hinzugefügt. Andere Updates umfassen die Unterstützung für Python 310 und die Aktivierung der Mac-m1-Unterstützung in den Python- und Java-Bibliotheken sowie das Hinzufügen der .net 6-Maui-Unterstützung im C-Sharp-Paket. Verbesserungen an Leistung und Quantisierung wurden ebenfalls vorgenommen, und neue Ausführungsanbieter wurden eingeführt, darunter Qualcomm Snappy und die allgemeine Infrastruktur für das Unfallpaket ep, wobei fortlaufend daran gearbeitet wird, weitere Kernel für Mobil- und Webszenarien hinzuzufügen.

  • 00:05:00 In diesem Abschnitt erörtert der Referent die an der ONNX Runtime (ORT) vorgenommenen Aktualisierungen und erwähnt, dass der Fokus hauptsächlich auf der Inferenz lag. Es wurde jedoch weiterhin in das ORT-Training investiert, um das Training großer Modelle zu beschleunigen. Die kürzlich erfolgte Integration mit Hugging Face Optimum hat zur Beschleunigung mehrerer Hugging Face-Modelle geführt. Der Redner stellt dann Randy vor, der eine neue Funktion bespricht, die es Benutzern ermöglicht, native ONNX Runtime-Operationen in benutzerdefinierten Operationen zu verwenden. Randy erklärt, dass diese Funktion auf Kundenanfragen zurückzuführen ist, um benutzerdefinierte Operatoren leistungsfähiger und vielseitiger zu machen, indem die leistungsstarken Matrixberechnungsfunktionen der ONNX-Laufzeit genutzt werden.

  • 00:10:00 In diesem Abschnitt erläutert der Referent eine neue Funktion, mit der Kunden direkt einen nativen oder Laufzeitoperator aufrufen können, ohne ein Diagramm oder ähnliches zu erstellen, wodurch die Ausführung von Matrixberechnungsfunktionen viel einfacher wird. Diese Funktion wurde der Community vorgeschlagen, weil eine andere Gruppe von Kunden an der Audioverarbeitung arbeitete und eine Anweisungsverwaltung erreichen wollte, d. h. sie wollte einige frühere Eingaben oder Ausgaben zwischenspeichern, sie mit der neuesten Eingabe kombinieren und den Operator mit einer kombinierten Änderung füttern Eingang. Dies war zuvor schwer zu erreichen, aber mit der neuen Funktion können Kunden einen Wrapper um den nativen Operator der ONNX-Laufzeit hinzufügen, um die Kontoauszugsverwaltung zu erledigen, ihr Leben einfacher zu machen und ihren Zweck zu erreichen. Beispiele zur Verwendung dieser Funktion sind auf der Community-Website verfügbar.

  • 00:15:00 In diesem Abschnitt erläutert Scott McKay, der Leiter von ONNX Runtime Mobile, die neuen Funktionen, die in Version 1.12.0 von ONNX Runtime hinzugefügt wurden. Die Version umfasst Unterstützung für .NET 6 und die Multi-Platform App UI (MAUI), die es Entwicklern ermöglicht, eine App mit einer gemeinsamen Codebasis zu erstellen, die auf Android, iOS, macOS, Windows und Linux ausgeführt werden kann. ONNX Runtime umfasst auch Ausführungsanbieter für bestimmte Plattformen wie die Neural Processing Unit auf Android und Core ML auf iOS, die die Modellausführungsgeschwindigkeit und Energieeffizienz optimieren können. McKay erklärt, dass Entwickler die gleichen C#-Bindungen für die Interaktion mit der ONNX-Laufzeitbibliothek in all diesen Frameworks verwenden können, aber es kann plattformspezifischen Code geben, der für den Umgang mit Unterschieden in den Bildschirmgrößen der Geräte und die Verarbeitung von Bildern erforderlich ist. Um ONNX Runtime zu einem .NET 6-Projekt hinzuzufügen, können Entwickler das Paket microsoft.ml.onnxruntime und das Paket microsoft.ml.onnxruntime.managed verwenden, die die C++-Implementierung zum Ausführen des Modells und die C#-Bindungen für die Interaktion mit dem nativen Modell bereitstellen Bibliothek.

  • 00:20:00 In diesem Abschnitt erörtert der Referent die Verfügbarkeit von Beispielen für Benutzer, um zu lernen, wie die neuen Bibliotheken verwendet werden. Es gibt ein Github-Repository mit einer Beispiel-Xamarin-App, um die Funktionalität der neuen Version zu demonstrieren. Darüber hinaus wird das Team die App aktualisieren, um eine Maui-App mit ähnlichem Design aufzunehmen. Schließlich bekundet das Publikum Interesse an einem Deep-Dive-Tutorial, da die neue Maui-Unterstützung sehr nützlich sein wird und die Beispiele hervorragend wären. Der folgende Redner erläutert das Konzept hinter der Erweiterbarkeit des ONNX Runtime-Teams und gibt Updates zu Ausführungsanbietern. Das Update für diesen Abschnitt konzentriert sich auf die Integration mit Hardware über die Schnittstelle des Ausführungsanbieters. In dieser Version konzentrierte sich das Team auf die Ableitung von Workloads, und die Zusammenarbeit mit Anbietern wie Nvidia, Intel und Qualcomm führte zu vielen Verbesserungen. Eine Verbesserung ist eine Option zur gemeinsamen Nutzung des Ausführungskontextspeichers, wodurch der Aufwand für den Zugriff auf mehrere Subgraphen mit TensorRT reduziert wird. Eine weitere Optimierung bezieht sich auf die Engine-Caching-Unterstützung, bei der das Erstellen von Engines im Voraus die Zeit zum Neuerstellen von Engines zum Zeitpunkt der Inferenz verkürzt.

  • 00:25:00 In diesem Abschnitt wird die Release-Überprüfung von v1.12.0 ONNX Runtime besprochen, insbesondere der Ausführungsanbieter namens Snappy, der für Snapdragon Neural Processing Engine von Qualcomm steht. Dies ist die Laufzeit von Qualcomm, die verwendet wird, um KI-Workloads auf mobilen Snapdragon-SOCs zu beschleunigen. Die Unterstützung für Snappy ist brandneu und wurde letzten Monat auf der Microsoft Build-Konferenz angekündigt. Neben der Unterstützung für Snappy hat Intel auch damit begonnen, Python-Pakete zu erstellen, die auf PyPI mit ONNX Runtime mit aktiviertem OpenVINO gehostet werden. Dies erleichtert Entwicklern die Einrichtung und ermöglicht eine bessere Unterstützung für Modelle mit dynamischen Eingabeformen. Links zu Dokumentationen und Beispielen finden Sie auch in den Versionshinweisen.

  • 00:30:00 In diesem Abschnitt erläutert Dmitry Smith, ein Principal Software Engineer bei Microsoft, die Leistungsverbesserungen, die in Version 1.12.0 der ONNX Runtime vorgenommen wurden. Kunden hatten sich an Microsoft gewandt und um eine geringere CPU-Latenz und -Nutzung für Inferenzen gebeten, was zu den Verbesserungen führte. Das Team konzentrierte sich darauf, die Speicherzuweisungen während der Inferenz zu reduzieren und unnötige Protokollierung zu eliminieren, wobei Änderungen an der Art und Weise vorgenommen wurden, wie Code geschrieben wurde. Die Verbesserungen führten in einigen Szenarien zu einer Verringerung der Latenz um den Faktor zwei oder mehr, und weitere Verbesserungen wie die Verbesserung der Cache-Lokalität und der Nutzung des Thread-Pools sind für zukünftige Versionen geplant.
v1.12.0 ONNX Runtime - Release Review
v1.12.0 ONNX Runtime - Release Review
  • 2022.07.25
  • www.youtube.com
ORT 1.12 adds support for ONNX 1.12 (opset 17), Python 3.10, .NET 6/MAUI, and Mac M1 builds in the Python and Java packages. We’ve introduced new features su...
 

v1.13 ONNX Runtime – Release-Überprüfung



v1.13 ONNX Runtime – Release-Überprüfung

Version 1.13 der ONNX-Laufzeit wurde kürzlich mit Sicherheitspatches, Fehlerbehebungen und Leistungsverbesserungen veröffentlicht. Das Update konzentriert sich auf die Optimierung von Transformer-Modellen für die GPU-Quantisierung und fügt Unterstützung für direkte ML-Ausführungsanbieter hinzu, die geräteunabhängig sind und über 150 Operatoren unterstützen. Darüber hinaus enthält die Version Aktualisierungen der mobilen ORT-Infrastruktur für die Kompatibilität mit neuen EPS, wie dem XNN-Paket. Die Verwendung von Quantisierung zur Verbesserung der Leistung von Transformer-basierten Modellen wird ebenfalls diskutiert, mit der Optimierung des CUDA-Ausführungsanbieters zur Ausführung des quantisierten BERT-Modells und der Verwendung von quantisiertem bewusstem Training zur Maximierung der Genauigkeit bei gleichzeitiger Optimierung der ONNX-Laufzeitausführungs-Engine.

  • 00:00:00 In diesem Abschnitt geht der Referent auf die kürzlich veröffentlichte Version 1.13 der ONNX-Laufzeitumgebung ein, die Sicherheitspatches, Fehlerbehebungen und Leistungsverbesserungen enthält. Das Update konzentrierte sich auf die Optimierung von Transformer-Modellen für die GPU-Quantisierung und fügte Unterstützung für direkte ML-Ausführungsanbieter hinzu. Letzteres ist eine API für maschinelles Lernen, die über 150 verschiedene Operatoren unterstützt und geräteunabhängig ist. Der Redner erwähnt auch den neuen Can EP Execution Provider, der von Huawei zur Unterstützung seiner Ascend 310-Hardware beigesteuert wurde. Darüber hinaus wurden Aktualisierungen an der mobilen ORT-Infrastruktur vorgenommen, die die Kompatibilität mit neuen EPS wie dem XNN-Paket ermöglichten.

  • 00:05:00 In diesem Abschnitt erörtern die Referenten die ONNX-Laufzeitversion v1.13 und wie sie mit jeder GPU funktioniert, die bis zu DirectX 12 unterstützt, was die Optimierung für Windows-Computer erleichtert. Sie diskutieren auch die neuen Operatoren und Aktualisierungen der ONNX-Offsets in Version 1.12. Die Referenten heben hervor, wie die neue Version die Unterstützung für verschiedene Modellarchitekturen erweitert hat, um die Nutzung des Ausführungsanbieters innerhalb der ONNX-Laufzeit zu vereinfachen. Sie besprechen auch den neuen Ausführungsanbieter Excellent Impact und wie er Leistungslücken auf Mobilgeräten füllt, auf denen keine handgeschriebenen Kernel verfügbar sind. Die Funktion ist derzeit für Android aktiviert, aber das Team beabsichtigt, in der folgenden Version Unterstützung für iOS- und Xamarin- oder Maui-Builds hinzuzufügen. Schließlich diskutieren sie die neue Funktion in der Version namens Optimierungen für die BERT-Modellquantisierung.

  • 00:10:00 In diesem Abschnitt erörtert der Sprecher die Verwendung von Quantisierung zur Verbesserung der Leistung von Transformer-basierten Modellen wie BERT. Sie erklären, wie sie den CUDA-Ausführungsanbieter für die Ausführung des quantisierten BERT-Modells und die Verwendung von quantisiertem bewusstem Training optimiert haben, um die Genauigkeit zu maximieren und gleichzeitig die ONNX-Laufzeitausführungs-Engine zu optimieren. Der Referent liefert Beispiele dafür, wie BERT-modellbewusstes Training durchgeführt und das Modell mit den in der ONNX-Laufzeit verfügbaren Tools zur weiteren Optimierung exportiert werden kann. Durch eine bessere Unterstützung des quantisierten bewussten Trainings kann die ONNX-Laufzeit eine weitere Leistungsoptimierung bei gleichzeitig maximaler Genauigkeit liefern. Sie erwähnen, dass die Offline-Tools, die in der neuen Version der ONNX-Laufzeit verfügbar sind, das Modell für eine bessere Geschwindigkeit optimieren können, nachdem der Benutzer die Beispiele zum Exportieren des Modells befolgt hat.
v1.13 ONNX Runtime - Release Review
v1.13 ONNX Runtime - Release Review
  • 2022.10.25
  • www.youtube.com
00:00 - Intro with Cassie Breviu, TPM on ONNX Runtime00:17 - Overview with Faith Xu, PM on ONNX Runtime- Release notes: https://github.com/microsoft/onnxrunt...
 

Was ist ONNX Runtime (ORT)?



Was ist ONNX Runtime (ORT)?

ONNX Runtime (ORT) ist eine Bibliothek, die Machine-Learning-Inferenzen optimiert und beschleunigt, sodass Benutzer ihre Modelle in jeder unterstützten Machine-Learning-Bibliothek trainieren, in das ONNX-Format exportieren und Inferenzen in ihrer bevorzugten Sprache durchführen können. Der Redner hebt ein Beispiel für die Durchführung von Inferenzen mit PyTorch mit ONNX Runtime hervor und weist darauf hin, dass Benutzer ONNXRuntime.ai besuchen können, um die verschiedenen APIs und Tools zu erkunden, die für ihre bevorzugte Einrichtung erforderlich sind.

What is ONNX Runtime (ORT)?
What is ONNX Runtime (ORT)?
  • 2022.01.07
  • www.youtube.com
#onnxruntime #machinelearning #inference #python
 

2020 ONNX-Roadmap-Diskussion Nr. 1 20200903



2020 ONNX-Roadmap-Diskussion Nr. 1 20200903

Das ONNX-Roadmap-Dokument, das öffentlich zugänglich ist, ist ein zentrales Thema in diesem Video. Die Diskussion befasst sich mit der Erweiterung von ONNX auf einer Pipeline für maschinelles Lernen, einschließlich der Entwicklung von Daten, der Vorverarbeitung und der Erweiterung von ONNX auf horizontale Pipelines wie QFLO. Zu den Vorschlägen der Mitwirkenden gehören die Unterstützung von Datenrahmen und die Einführung neuer Operatoren für die Vorverarbeitung. Die Referenten diskutieren auch die Einführung des Python-Daten-API-Standards, um die Unterstützung von ONNX zu erweitern und die Interoperabilität zwischen anderen Bibliotheken zu gewährleisten. Darüber hinaus erörtern die Referenten die Integration von ONNX in Kubernetes und Kubeflow, um die ML-Entwicklung für Benutzer zu optimieren. Die Gruppe plant, die Auswirkungen des Vorschlags weiter zu bewerten, und begrüßt Rückmeldungen über die Roadmap oder den Lenkungsausschuss.

  • 00:00:00 In diesem Abschnitt erörtert der Redner das ONNX-Roadmap-Dokument, das für Beiträge der Öffentlichkeit zugänglich war, und hebt die Bedeutung dieser Beiträge für die Umsetzung von Änderungen hervor. Der Sprecher erwähnt, dass es sechs Roadmap-Diskussionen geben wird, die wöchentlich veranstaltet werden, wobei ein Community-Treffen für den 14. Oktober geplant ist. Die Diskussion ist in drei Hauptteile unterteilt, wobei sich der zweite Teil auf die Erweiterung von ONNX auf eine Pipeline für maschinelles Lernen konzentriert. Insbesondere befasst sich die Diskussion mit der Entwicklung von Daten und ihrer Vorverarbeitung sowie der Erweiterung von ONNX auf horizontale Pipelines wie QFLO. Der Redner fasst auch einige der Vorschläge der Mitwirkenden zusammen, wie die Unterstützung von Datenrahmen und die Einführung neuer Operatoren für die Vorverarbeitung.

  • 00:05:00 In diesem Abschnitt konzentriert sich die Diskussion auf die ONNX-Roadmap und verschiedene Vorschläge, wie z. B. die Unterstützung der Verarbeitung von Audiospektrogrammen und die Erweiterung der Unterstützung für das Datenlayout. Das Gespräch umfasst auch die vorgeschlagene Erweiterung des Einflusses von ONNX auf die ML-Pipeline und die potenziellen Vorteile der Unterstützung von Datenrahmen innerhalb von ONNX. Die Teilnehmer äußern ihre Meinung, wobei ein Mitglied Einblicke in die Bemühungen des Python Data API Consortium gibt, einen Daten-API-Standard für die Interoperabilität von Arrays und Datenrahmen aufzubauen. Die Gruppe scheint sich einig zu sein, dass die Erweiterung der Fähigkeiten von ONNX in diesen Bereichen eine gute Sache ist und sich an breiteren Brancheninitiativen ausrichtet.

  • 00:10:00 In diesem Abschnitt erörtern die Referenten die Übernahme des Python-Daten-API-Standards als Möglichkeit, die Unterstützung von ONNX zu erweitern und die Interoperabilität zwischen allen anderen Bibliotheken desselben Standards zu gewährleisten. Der Sprecher sagt, dass die Annahme des Standards den Modellaustausch erleichtern würde und die Abstimmung des Zeitplans mit dem größeren Konsortium für die Benutzer besser wäre, um ONNX zu verwenden. Sie diskutieren auch den Unterschied zwischen ONNX und traditionellen Datenstrukturen wie Datenrahmen und die Notwendigkeit, den gleichen Standard von anderen Bibliotheken zu übernehmen.

  • 00:15:00 kann ONNX in die Kuflow-Pipeline integrieren, um die ML-Entwicklung für Endbenutzer zu vereinfachen. Chen erwähnt das Konzept einer Pipeline, in der alle Komponenten zusammenarbeiten, um die End-to-End-ML-Entwicklung zu orchestrieren. Kuflow kombiniert Modell- und Dateninhalte mit Infrastruktur, um Endbenutzern ein nahtloses Erlebnis zu bieten. Chen untersucht, wie ONNX in diese Pipeline integriert werden kann, um die Nutzung zu erweitern und es für ML-Entwickler einfacher zu machen.

  • 00:20:00 In diesem Abschnitt erörtern die Referenten die Idee, Benutzern, die Kubernetes und Kubeflow verwenden, die Nutzung von ONNX für ihre Infrastruktur und Umgebungen zu erleichtern. Ziel ist es, eine leicht zugängliche API zu entwickeln, um Modelle aus dem Modellzoo zu nehmen und eine End-to-End-Pipeline mit ONNX zu erstellen. Die Referenten präsentieren ein Beispiel, in dem sie ONNX verwenden, um den Inferenzteil eines maschinellen Lernprozesses in Kubeflow zu beschreiben, und skizzieren Ideen für die Entwicklung von ONNX-Komponenten, um mehr Schritte abzudecken, einschließlich Datenverarbeitung und verteiltem Training. Die Idee ist, die Leistungsfähigkeit von Kubernetes zu nutzen und gleichzeitig mehr Schritte im maschinellen Lernprozess abzudecken.

  • 00:25:00 In diesem Abschnitt erörtern die Referenten die Erweiterung von QFlow um einen ONNX-Job, um verteiltes Training zu ermöglichen, und das Hinzufügen von Datenverarbeitung und -transformation, um zum Modelltrainingsteil zu gelangen. Die ONNX-Laufzeit selbst unterstützt heute das Training von Transformer-Modellen von PyTorch, aber beim ONNX-Modelltraining sind noch Fortschritte zu erzielen. Die Referenten schlagen vor, mit den Modellen im Modellzoo zu beginnen, um zu sehen, wie die Daten für die Modelle vorverarbeitet und transformiert werden müssen, beachten Sie jedoch, dass dies nicht nur innerhalb des ONNX-Kernprojekts erfolgt und ein übergeordnetes Framework zum Definieren von Komponenten erfordert wie CoolFlow.

  • 00:30:00 In diesem Abschnitt diskutieren die Teilnehmer einen Vorschlag, der für die ONNX-Roadmap gemacht wurde, und schlagen vor, die Folien mit dem Dokument zu verknüpfen. Die Gruppe plant, die Auswirkungen des Vorschlags in späteren Sitzungen weiter zu bewerten, und hofft, die Umsetzung besser abschließen zu können. Sie begrüßen auch Feedback und ermutigen die Benutzer, es über die Roadmap oder den Lenkungsausschuss einzureichen. Die Diskussion endet mit einer Verabschiedung und der Einladung zu künftigen Treffen.