Lernen mit ONNX für den Handel - Seite 8

 

Konvertieren des Tensorflow-Modells in das ONNX-Format – Erkennung menschlicher Emotionen



Konvertieren des Tensorflow-Modells in das Onnx-Format - Erkennung menschlicher Emotionen

Das Video erörtert die Vorteile der Konvertierung vortrainierter TensorFlow-Modelle in das ONNX-Format, das ein gemeinsames Format für die Darstellung von Modellen für maschinelles Lernen bietet, das mithilfe der ONNX-Laufzeit auf verschiedenen Hardwareplattformen interpretiert werden kann. Durch die Konvertierung von Modellen können Entwickler sie effizienter in verschiedenen Frameworks ausführen oder einfacher mit anderen Praktikern verwenden. Das Video demonstriert den Prozess der Konvertierung von TensorFlow- und Keras-Modellen in das ONNX-Format mithilfe von Tools und Spezifikationen, die im ONNX-GitHub-Repository bereitgestellt werden, und zeigt, wie das ONNX-Format das Modell optimiert und die Laufzeit für Vorhersagen reduziert. Das ONNX-Modell übertrifft auch das TensorFlow-Modell für die Erkennung menschlicher Emotionen auf einer CPU.

  • 00:00:00 In diesem Abschnitt des Videos geht der Moderator auf das ONNX-Format ein, das für Open Neural Network Exchange steht. Der von Microsoft, Facebook und AWS gemeinsam entwickelte ONNX-Standard bietet ein gemeinsames Format zur Darstellung von Modellen für maschinelles Lernen, die mithilfe der ONNX-Laufzeit auf verschiedenen Hardwareplattformen interpretiert werden können. Durch die Konvertierung vortrainierter TensorFlow-Modelle in das ONNX-Format können Entwickler sie dann in Modelle in anderen Frameworks wie PyTorch konvertieren, sodass Modelle in einem anderen Framework noch effizienter ausgeführt oder von anderen Praktikern verwendet werden können. Die ONNX-Laufzeit ist eine leichtgewichtige und modulare Inferenz-Engine, mit der Entwickler ONNX-Modelle auf jeder beliebigen Hardwareplattform ausführen können. Insgesamt betont der Referent die Flexibilität und Einfachheit der Konvertierung von Modellen in das ONNX-Format, die es Entwicklern erleichtert, mit jedem beliebigen Framework zu arbeiten und gleichzeitig sicherzustellen, dass ihre Modelle auch auf jeder Hardwareplattform ausgeführt werden können.

  • 00:05:00 In diesem Abschnitt behandelt das Video den Prozess der Konvertierung eines TensorFlow-Modells in das ONNX-Format mit dem TensorFlow-zu-ONNX-Tool und der ONNX-Laufzeit. Das Video erklärt, dass das ursprüngliche TensorFlow-Modell zwar fast ein Gigabyte groß war und für die Bereitstellung denselben Speicherplatz benötigt, die optimierte ONNX-Version jedoch nur 327 Megabyte groß ist. Darüber hinaus zeigt das Video, wie ein Keras-Modell mithilfe der im ONNX-GitHub-Repo bereitgestellten Spezifikationen in das ONNX-Format konvertiert wird. Schließlich endet das Video mit der Erwähnung, dass das konvertierte Modell auf Inferenz getestet werden kann.

  • 00:10:00 In diesem Abschnitt erklärt der Referent, wie ein ONNX-Modell mit der ONNX-Laufzeit ausgeführt wird, wodurch TensorFlow überflüssig wird, indem ein Emotionserkennungsmodell demonstriert wird, das auf einer CPU ausgeführt wird. Zunächst zeigt der Referent, wie Sie den CPU-Ausführungsanbieter angeben und die ONNX-Laufzeit importieren. Als nächstes hebt der Referent die Bedeutung der korrekten Angabe der Ausgabenamen hervor und übergibt ein Eingabebild mit NumPy anstelle von TensorFlow. Das ONNX-Modell, das Wahrscheinlichkeiten für Emotionen bereitstellt, ist in der Lage, die Emotion im Eingabebild zu erkennen und die gleichen Wahrscheinlichkeiten viel schneller zu erzeugen, da es kein TensorFlow benötigt. Durch das Importieren der Zeitbibliothek demonstriert der Referent den Geschwindigkeitsunterschied zwischen der Ausführung des Emotionserkennungsmodells mit TensorFlow und der ONNX-Laufzeit.

  • 00:15:00 In diesem Abschnitt des Videos demonstriert der Moderator, wie die Inferenzzeit für die TensorFlow- und ONNX-Modelle sowohl mit einer CPU als auch mit einer GPU gemessen wird. Das TensorFlow-Modell mit einer GPU benötigt 0,15 Sekunden zum Ausführen, während das ONNX-Modell mit einer CPU 0,5 Sekunden benötigt. Der Präsentator installiert dann die ONNX-Laufzeit mit einer GPU und startet die Laufzeit neu, um die GPU-Version zu berücksichtigen. Abschließend wird die Inferenzzeit für das ONNX-Modell mit einer GPU gemessen und mit dem TensorFlow-Modell verglichen.

  • 00:20:00 In diesem Abschnitt zeigt das Video den Prozess der Konvertierung eines TensorFlow-Modells in ein ONNX-Format und wie es das anfängliche TensorFlow-Modell optimieren kann. Das ONNX-Format ermöglicht die Optimierung des Modells und die Reduzierung der Laufzeit für Vorhersagen. Das Video zeigt die Ausführung des ursprünglichen TensorFlow-Modells mit GPU und CPU, dann das ONNX-Format mit GPU, gefolgt vom Testen beider Modelle mit 100 Vorhersagen, um die durchschnittliche Zeit pro Vorhersage zu messen. Das ONNX-Modell führte zu einer durchschnittlichen Zeit von 23 Millisekunden für eine einzelne Vorhersage, sechsmal schneller als das ursprüngliche TensorFlow-Modell.

  • 00:25:00 In diesem Abschnitt erörtert der Referent die Leistung des ONNX-Modells im Vergleich zum Tensorflow-Modell zur Erkennung menschlicher Emotionen. Mit einer CPU läuft das ONNX-Modell etwa doppelt so schnell wie das Tensorflow-Modell. Der Referent führt ein konkretes Beispiel an und erklärt, dass 0,8 geteilt durch 0,35 mit beiden Modellen ausgeführt wurde und das Onnx-Modell Tensorflow übertraf.
Converting Tensorflow model to Onnx format - Human emotions detection
Converting Tensorflow model to Onnx format - Human emotions detection
  • 2023.01.13
  • www.youtube.com
In this section we continue our human emotions detection project. We shall focus on converting the trained Tensorflow model into the Onnx format.Colab Notebo...
 

So konvertieren Sie fast jedes PyTorch-Modell in ONNX und servieren es mit einem Kolben



So konvertieren Sie fast jedes PyTorch-Modell in ONNX und servieren es mit einem Kolben

Das Video-Tutorial zeigt, wie Sie ein PyTorch-Modell in das ONNX-Format konvertieren und es mit Flask bereitstellen. Der Präsentator beginnt mit dem Importieren des Datensatzes und der Definition des Modells unter Verwendung paralleler Daten, gefolgt vom Laden der Modellgewichte und dem Exportieren nach ONNX. Das Video zeigt, wie ein Flask-Endpunkt erstellt wird, um das ONNX-Modell zu bedienen, gefolgt von der Konvertierung von Tensoren in Numpy-Arrays und dem Abrufen der Ausgabe aus dem Modell. Der Sprecher wendet auch die Sigmoid-Funktion auf die Modellausgabe an, um sie in eine Wahrscheinlichkeit zwischen 0 und 1 umzuwandeln. Schließlich schalten sie das Gerät für einen fairen Vergleich auf CPU um und demonstrieren die schnellere Reaktionszeit der API. Das Video schließt mit der Feststellung, dass es viele Möglichkeiten gibt, ONNX-Modelle für eine verbesserte Leistung zu optimieren, und lädt die Zuschauer ein, ihr Feedback im Kommentarbereich zu teilen.

  • 00:00:00 In diesem Abschnitt erläutert das Video, wie PyTorch-Modelle in das ONNX-Format konvertiert werden und wie ein Flask-Endpunkt für die Bereitstellung erstellt wird. Das Video verwendet das Vogelstimmungsmodell als Basismodell mit geringfügigen Änderungen an den Parametern für die maximale Länge und die Stapelgröße. Das Video führt dann durch das Importieren der erforderlichen Abhängigkeiten und das Schreiben der Hauptfunktion für die Konvertierung, einschließlich der Angabe der Eingabeform. Das Video behandelt auch das Speichern des konvertierten Modells und das Erstellen eines Flask-Endpunkts zum Bereitstellen des Modells.

  • 00:05:00 In diesem Abschnitt des Videos erläutert der Moderator, wie ein PyTorch-Modell in ONNX konvertiert und mit Flask bereitgestellt wird. Sie beginnen mit dem Importieren des Datensatzes und definieren dann das Modell mithilfe paralleler Daten. Als nächstes laden sie die Modellgewichte und versetzen das Modell in den Bewertungsmodus. Sie zeigen, wie Sie die Eingaben erhalten, indem Sie sich das Modell ansehen und feststellen, dass die Eingaben IDs, Masken und Tokentyp-IDs sind. Der Moderator zeigt dann, wie das Modell in das ONNX-Format exportiert wird, wobei die drei Eingabenamen und der Ausgabename angegeben werden. Sie definieren auch die dynamische Achse, bei der es sich um ein Wörterbuch handelt, das angibt, welche Ein- oder Ausgänge eine dynamische Form haben.

  • 00:10:00 In diesem Abschnitt zeigt das Video, wie ein PyTorch-Modell mit dem Code „convert to ONNX“ in das ONNX-Format konvertiert wird, um das Modell mit Flask auszuführen. Das PyTorch-Modell wird zuerst in ONNX konvertiert, und dann wird eine neue Datei erstellt, um Vorhersagen aus dem ONNX-Modell zu treffen. Das Video zeigt, wie eine Sitzung für das ONNX-Modell angegeben wird, und zeigt, dass die ONNX-Laufzeit importiert und das Modell dann in die Inferenzsitzung geladen werden kann. Das Video erklärt, dass die Ausgabe und das Senden des Modells an das Gerät nicht erforderlich ist und dass etwas zurückgegeben wird.

  • 00:15:00 In diesem Abschnitt des Video-Tutorials demonstriert der Referent, wie ein einfaches Wörterbuch für die ONNX-Eingabe in PyTorch erstellt wird, was entscheidend ist, da ONNX nicht alle Tensoren akzeptiert. Das Wörterbuch besteht aus Schlüsseln als Namen und Werten als PyTorch-Tensoren. Um Tensoren in numpy-Fehler umzuwandeln, wird mit den Befehlen „detach“ und „requires grad“ eine to-numpy-Funktion erstellt. Der Referent zeigt dann, wie man die Ausgabe des Modells erhält, indem man die model.run-Funktion mit entsprechenden Argumenten aufruft. Schließlich kann die Ausgabe direkt gedruckt oder zur Verwendung in Flask zurückgegeben werden.

  • 00:20:00 In diesem Abschnitt wendet der Moderator eine Sigmoid-Funktion auf die Ausgabe des PyTorch-Modells an, um die Ausgabe in eine Wahrscheinlichkeit zwischen 0 und 1 umzuwandeln. Sie demonstrieren, wie man eine einfache Sigmoid-Funktion schreibt und sie dann integriert die Flask-API für das ONNX-Modell. Sie zeigen auch, wie die API auf einem lokalen Host und Port gestartet wird, und demonstrieren, wie die API mit einer Curl-Anforderung getestet wird. Schließlich schaltet der Präsentator das Gerät aus Fairnessgründen im Vergleich zur alten API, die auf der GPU ausgeführt wurde, auf CPU um und führt die API erneut aus, um die schnellere Reaktionszeit zu demonstrieren.

  • 00:25:00 In diesem Abschnitt des Videos schließt der Sprecher das Tutorial zum Konvertieren von PyTorch-Modellen in ONNX und deren Bereitstellung mit Flask ab. Sie vergleichen das Timing der alten und neuen Anfragen, die ähnlich zu sein scheinen, und stellen fest, dass es viele weitere Optimierungen gibt, die Benutzer auf ONNX-Modelle anwenden können, um ihre Leistung weiter zu verbessern. Der Redner ermutigt die Zuschauer, mit den Möglichkeiten zu experimentieren, die ONNX zu bieten hat, um Modelle in verschiedenen Umgebungen zu verteilen, und dankt abschließend den Zuschauern für das Zuschauen und lädt sie ein, ihre Vorschläge im Kommentarbereich mitzuteilen.
How to convert almost any PyTorch model to ONNX and serve it using flask
How to convert almost any PyTorch model to ONNX and serve it using flask
  • 2020.07.18
  • www.youtube.com
In this video, I show you how you can convert any #PyTorch model to #ONNX format and serve it using flask api.I will be converting the #BERT sentiment model ...
 

So konvertieren Sie das PyTorch-Modell in Tensorflow | onnx.ai | Maschinelles Lernen | Datenmagie



So konvertieren Sie das PyTorch-Modell in Tensorflow | onnx.ai | Maschinelles Lernen | Datenmagie

In diesem Video demonstriert der Moderator, wie die Open Neural Network Exchange (ONNX)-Bibliothek verwendet wird, um ein PyTorch-Modell in ein TensorFlow-Modell zu konvertieren. Die Vorteile und die Verwendung der ONNX-Bibliothek werden ausführlich erörtert, wobei ein PyTorch-Modell, das zur Identifizierung handgeschriebener Zahlen erstellt wurde, als Beispiel verwendet wird. Es wird gezeigt, wie das Modell trainiert und in das ONNX-Format konvertiert wird, bevor es zur Vorhersage von Beispielbildern in TensorFlow geladen wird. Das resultierende TensorFlow-Modell wird als .pb-Datei gespeichert und zeigt, wie die ONNX-Bibliothek verwendet werden kann, um jedes PyTorch-Modell in TensorFlow zu konvertieren.

  • 00:00:00 In diesem Abschnitt erläutert der Moderator, wie ein PyTorch-Modell mit Hilfe der Open Neural Network Exchange (ONNX)-Bibliothek in ein TensorFlow-Modell konvertiert wird. Die ONNX-Bibliothek ist eine Open-Source-Bibliothek, die darauf abzielt, die Kompatibilität zwischen verschiedenen Bibliotheken für maschinelles Lernen in der Branche zu erhöhen. Der Referent erklärt die Vorteile und die Verwendung der Bibliothek und demonstriert, wie sie und ihre abhängigen Bibliotheken installiert werden. Ein PyTorch-Modell wird erstellt, um handgeschriebene Zahlen zu identifizieren, und der Moderator zeigt, wie das Modell mit der ONNX-Bibliothek trainiert und getestet wird. Der Code für das PyTorch-Modell wird nicht im Detail besprochen, da er nicht im Mittelpunkt des Videos steht.

  • 00:05:00 In diesem Abschnitt erläutert das Transkript den Prozess der Konvertierung eines trainierten PyTorch-Modells in ein TensorFlow-Modell mithilfe der Neural Network Exchange (ONNX)-Bibliothek. Zunächst wird das PyTorch-Modell trainiert und als mnist.pth-Datei gespeichert. Das Modell wird dann in das ONNX-Format konvertiert und in TensorFlow geladen, um Vorhersagen für Beispielbilder zu treffen. Schließlich wird das TensorFlow-Modell als .pb-Datei gespeichert. Der Prozess zeigt, wie die ONNX-Bibliothek verwendet wird, um ein beliebiges PyTorch-Modell in TensorFlow zu konvertieren.

  • 00:10:00 Dieser Auszug bietet keinen relevanten Inhalt für eine Zusammenfassung, da er nur aus abschließenden Bemerkungen des Sprechers besteht, einschließlich einer Dankesnachricht und einem Aufruf zum Handeln für die Zuschauer zum Liken und Abonnieren. Der Sprecher lädt die Zuschauer auch ein, Fragen zu stellen, und stellt Links zu dem Code und den Ressourcen bereit, die im Video verwendet werden.
How to convert PyTorch model to Tensorflow | onnx.ai | Machine Learning | Data Magic
How to convert PyTorch model to Tensorflow | onnx.ai | Machine Learning | Data Magic
  • 2021.06.09
  • www.youtube.com
Hello Friends, In this episode, I am going to show you- How we can convert PyTorch model into a Tensorflow model. We are going to make use of ONNX[Open Neura...
 

So konvertieren Sie Tensorflow-Modelle/tflite-Modelle in ONNX



So konvertieren Sie Tensorflow-Modelle/tflite-Modelle in ONNX, um sie in Unity zu importieren

tf2onnx konvertiert TensorFlow- (tf-1.x oder tf-2.x), tf.keras- und tflite-Modelle über die Befehlszeile oder die Python-API in ONNX.

https://github.com/onnx/tensorflow-onnx

How to convert Tensorflow model/tflite models to ONNX for importing it into unity
How to convert Tensorflow model/tflite models to ONNX for importing it into unity
  • 2021.06.07
  • www.youtube.com
tf2onnx converts TensorFlow (tf-1.x or tf-2.x), tf.keras and tflite models to ONNX via command line or python api.https://github.com/onnx/tensorflow-onnx
 

Konvertieren Sie das Pytorch-Modell (Pytorch-Blitz) in das Onnx-Modell mit variabler Stapelgröße



Konvertieren Sie das Pytorch-Modell (Pytorch Lightning) in das ONNX-Modell mit variabler Stapelgröße

In diesem Tutorial erfahren Sie, wie Sie das Pytorch-Modell (Pytorch-Blitz) in das ONNX-Modell mit variabler/dynamischer Stapelgröße konvertieren.

Convert Pytorch (pytorch lightning ) model to onnx model with variable batch size
Convert Pytorch (pytorch lightning ) model to onnx model with variable batch size
  • 2021.11.28
  • www.youtube.com
In this tutorial we will learn how Convert Pytorch (pytorch lightning ) model to onnx model with variable/dynamic batch size
 

PyTorch ONNX-Exportunterstützung – Lara Haidar, Microsoft



PyTorch ONNX-Exportunterstützung – Lara Haidar, Microsoft

Lara Haidar von Microsoft erläutert die Vorteile der PyTorch ONNX-Modellexportfunktion, mit der Modelle aus der Forschung in die Produktion verschoben und auf unterschiedlicher Hardware ausgeführt werden können. Sie gibt an, dass die ONNX-Laufzeit sehr beliebt geworden ist, da Millionen von Geräten sie jetzt verwenden und bemerkenswerte Leistungssteigerungen erzielen. Darüber hinaus umfasst der ONNX Export Support jetzt Verbesserungen in der Modellabdeckung, Leistungsoptimierung und Backend-Unterstützung, um sicherzustellen, dass Modelle auf verschiedenen Versionen mit unterschiedlichen Backends ausgeführt werden können. Schließlich ermutigt Lara die Benutzer, die exportierten Modelle zu testen und Feedback zu geben, um die Funktion weiter zu verbessern.

PyTorch ONNX Export Support - Lara Haidar, Microsoft
PyTorch ONNX Export Support - Lara Haidar, Microsoft
  • 2019.11.06
  • www.youtube.com
The PyTorch ONNX exporter allows trained models to be easily exported to the ONNX model format. Learn about the latest updates including increased model cove...
 

296 – Konvertieren des von Keras trainierten Modells in das ONNX-Format – Beispiel für die Bildklassifizierung



296 – Konvertieren des von Keras trainierten Modells in das ONNX-Format – Beispiel für die Bildklassifizierung

Das Video-Tutorial behandelt den Prozess der Konvertierung eines von Keras trainierten Bildklassifizierungsmodells in das ONNX-Format für die Bereitstellung. Der Referent zeigt, wie man ein Modell mit Keras erstellt, kompiliert und als H5-Datei speichert, bevor man es in das ONNX-Format konvertiert. Sie bieten eine Schritt-für-Schritt-Anleitung zum Importieren der erforderlichen Bibliotheken für die ONNX-Konvertierung, zum Laden des gespeicherten H5-Modells und zum Konvertieren in das ONNX-Format mit einer einzigen Codezeile. Der Referent demonstriert dann, wie das resultierende ONNX-Modell in einer ONNX-Laufzeitsitzung verwendet wird, zeigt, wie Klassen in einem Bildklassifizierungsbeispiel mit ONNX vorhergesagt werden, und vergleicht die Wahrscheinlichkeiten der Vorhersagen mit ONNX und Keras. Der Referent betont die Effektivität und Vorteile der Verwendung von ONNX für die Bereitstellung und weist auf die Einfachheit der Konvertierung einer vorhandenen HDF-Datei in ONNX hin.

  • 00:00:00 In diesem Abschnitt erläutert der Referent den Prozess der Konvertierung eines mit Keras trainierten Modells in das ONNX-Format, insbesondere für die Bildklassifizierung. Sie erklären, dass ONNX ein Zwischenformat ist, das in verschiedenen Dateiformaten wie H5 gespeicherte Modelle konvertieren kann, um auf verschiedenen Laufzeiten wie der ONNX-Laufzeit zu funktionieren. Der Redner führt das Publikum durch die Erstellung eines einfachen Bildklassifizierungsmodells mit Keras, dessen Speicherung als H5-Datei und die anschließende Konvertierung in das ONNX-Format. Anschließend vergleichen sie die Genauigkeit der beiden Formate und diskutieren die verschiedenen Optimierungen, die ONNX-Modellen hinzugefügt werden können. Der Referent betont auch die Installation der notwendigen Bibliotheken für Keras, zusätzlich zur ONNX-Laufzeit und H5 Pi, um Inferenzen durchzuführen.

  • 00:05:00 In diesem Abschnitt erläutert der Moderator den Datensatz, der zum Trainieren und Testen des Modells verwendet wird, der 50.000 kleine Bilder enthält, die für das Training und 10.000 für das Testen zugewiesen wurden. Die Bilder sind 32 mal 32 mal 3 groß und er normalisiert sie, indem er die Werte zwischen 0 und 1 skaliert. Als Nächstes wandelt der Präsentator die ganzzahlig codierten Werte in kategorische Werte um und definiert ein Modell mit Faltungsschichten, Stapelnormalisierung, Dropout und Softmax Aktivierung, um 10 Werte zurückzugeben, die die Wahrscheinlichkeiten jeder Klasse darstellen. Schließlich kompiliert er das Modell mit dem stochastischen Gradientenabstiegsoptimierer und verfolgt die Genauigkeitsmetriken, während er die Verlustfunktion der kategorialen Kreuzentropie minimiert. Der Moderator demonstriert auch die Verwendung des Rückrufs für frühes Stoppen, um den Trainingsprozess nach zehn Epochen zu beenden.

  • 00:10:00 In diesem Abschnitt erklärt der Referent, wie sie ein Modell mit Keras trainiert und im H5-Format gespeichert haben, bevor sie es in das ONNX-Format konvertiert haben. Sie zeigen, wie Sie das gespeicherte Modell laden, die erforderlichen Bibliotheken für die ONNX-Konvertierung importieren und die einzelne Codezeile verwenden, die zum Konvertieren des Keras-Modells in das ONNX-Format erforderlich ist. Anschließend zeigen sie, wie das resultierende ONNX-Modell in einer ONNX-Laufzeitsitzung verwendet wird, und vergleichen Geschwindigkeiten, um die Vorteile der Verwendung von ONNX für die Bereitstellung zu demonstrieren.

  • 00:15:00 In diesem Abschnitt erklärt der Referent, wie ONNX verwendet wird, um Klassen in einem Bildklassifizierungsbeispiel vorherzusagen. Zunächst zeigen sie, wie die Eingabe- und Ausgabenamen aus dem Modell abgerufen werden. Dann demonstrieren sie, wie Dimensionen erweitert werden, um das Bild für die Inferenz bereit zu machen. Nachdem sie die Grundwahrheit definiert haben, führen sie die Vorhersage aus und berechnen die vorhergesagte Klasse mit argmax. Schließlich zeichnen sie die Ergebnisse auf und vergleichen die Vorhersagen mit ONNX und Keras. Die Wahrscheinlichkeiten sind nahezu identisch, was die Effektivität von ONNX für Bildklassifizierungsaufgaben demonstriert.

  • 00:20:00 In diesem Abschnitt demonstriert der Referent die erfolgreiche Konvertierung eines trainierten Keras-Modells in das ONNX-Format zur Bildklassifizierung. Wahrscheinlichkeitsergebnisse werden für verschiedene Testbilder gezeigt, wobei das Modell hervorragende Ergebnisse erzielt, nachdem es für 50 Epochen trainiert wurde. Der Redner merkt an, dass das Konvertieren einer bestehenden HDF-Datei in ONNX ein einfacher Prozess ist, und weist auf ein bevorstehendes Tutorial zur Bildsegmentierung hin.
296 - Converting keras trained model to ONNX format - Image Classification example
296 - Converting keras trained model to ONNX format - Image Classification example
  • 2023.01.18
  • www.youtube.com
Code generated in the video can be downloaded from here: https://github.com/bnsreenu/python_for_microscopists/blob/master/296-Converting%20keras-trained%20mo...
 

297 – Konvertieren des von Keras trainierten Modells in das ONNX-Format​ – Semantische Segmentierung


297 – Konvertieren des von Keras trainierten Modells in das ONNX-Format​ – Semantische Segmentierung

Dieses Video konzentriert sich auf die Konvertierung eines von Keras trainierten Modells in das ONNX-Format zur semantischen Segmentierung von elektronenmikroskopischen Bildern von Mitochondrien. Der Moderator bietet detaillierte Schritte zum Zuschneiden und Laden von Bildern, zur Verwendung von Datenerweiterungstechniken, zum Definieren von Generatoren für Training und Validierung sowie zum Trainieren und Speichern des Modells. Das Video behandelt auch die Konvertierung des Modells in das ONNX-Format mithilfe der tf2onnx.convert-Bibliothek und die Verwendung des ONNX-Modells für die Vorhersage. Der Moderator hebt Best Practices für Training und Konversion hervor und stellt Links zu seinen früheren Videos zur Multi-Class-Segmentierung bereit. Das Tutorial endet damit, dass der Moderator erklärt, dass dies das Ende der ONNX-Reihe ist und dass er sich im nächsten Video auf andere Themen konzentrieren wird.

  • 00:00:00 In diesem Abschnitt baut der Moderator auf den vorherigen Videos auf, in denen gezeigt wurde, wie man die Gewichte eines mit Keras trainierten Modells in ONNX speichert und mithilfe des konvertierten Modells eine Inferenz durchführt. Dieses Mal stellen sie Schritte zum Trainieren und Speichern eines semantischen Segmentierungsmodells in ONNX bereit. Sie verwenden einen elektronenmikroskopischen Datensatz von Mitochondrien, wo sie rohe und beschriftete Bilder haben. Der Moderator zeigt, wie man die Bilder auf geeignete Größen zuschneidet, sie in das neuronale Netzwerk lädt und das einfache Einheitenmodell verwendet, um eine binäre Segmentierung durchzuführen. Sie erklären, wie das einfache Einheitenmodell funktioniert, und stellen Links zu ihren vorherigen Videos bereit, in denen sie komplexere neuronale Netze für die semantische Segmentierung mehrerer Klassen erläuterten.

  • 00:05:00 In diesem Abschnitt erläutert der Autor den Prozess der Aufteilung eines kleinen Datensatzes von 165 Bildern in 12 Bilder zu Schulungszwecken. Sie wenden die Patchify-Bibliothek an, um die Bilder und Masken in kleinere Patches von 256 x 256 Pixeln zu unterteilen. Sie besprechen auch ein paar zufällige Bilder als "Sanity Check", um sicherzustellen, dass die Bilder und Masken genau ausgerichtet sind. Der Autor verwendet Datenerweiterungstechniken wie Höhenverschiebungsbereich, Scherbereich und Zoombereich, um die Ergebnisse zu verallgemeinern. Sie erwähnen auch, wie sichergestellt werden kann, dass zufällige Transformationen nicht wirklich zufällig sind und dass der gleiche Startwert zum Generieren von Transformationen sowohl in Bildern als auch in Masken verwendet wird, um die gleiche Zufälligkeit beizubehalten. Schließlich definiert der Autor die Generatoren, die für das Training und die Validierung verwendet werden, und Seeds werden aus Gründen der Konsistenz festgelegt.

  • 00:10:00 In diesem Abschnitt bereitet der Referent das Trainieren eines Einheitenmodells für die semantische Segmentierung unter Verwendung von Best Practices vor und kombiniert den Bild- und Maskengenerator zu einem. Anschließend definieren sie ihre Stapelgröße und Schritte pro Epoche, bevor sie mit dem Training des Modells fortfahren und einen Schwellenwert von 0,5 anwenden, um die Wahrscheinlichkeitsausgabe in eine binäre Ausgabe umzuwandeln. Obwohl das Modell mehr Trainingsbilder verwenden könnte, leistet es bei der Segmentierung von Bildern eine mäßig gute Arbeit. Der Sprecher speichert dann die H5-Datei und konvertiert sie mithilfe der TF2-zu-onnx-Bibliothek in onnx.

  • 00:15:00 In diesem Abschnitt erklärt das Video, wie ein mit Keras trainiertes Modell mit tf2onnx.convert in das ONNX-Format konvertiert wird. Nach dem Laden des Modells können Optimierungen hinzugefügt werden, bevor es als .onnx-Datei gespeichert wird. Darüber hinaus demonstriert das Video die Verwendung des ONNX-Modells in einer Laufzeitsitzung zur Vorhersage und zeigt identische Ergebnisse wie das Keras-Modell. Das Video schließt mit der Feststellung, dass dieses Tutorial das Ende der ONNX-Reihe ist und sich der Moderator im nächsten Video auf andere Themen konzentrieren wird.
297 - Converting keras trained model to ONNX format​ - Semantic Segmentation
297 - Converting keras trained model to ONNX format​ - Semantic Segmentation
  • 2023.02.01
  • www.youtube.com
Code generated in the video can be downloaded from here: Main file: https://github.com/bnsreenu/python_for_microscopists/blob/master/297-Converting%20keras-t...
 

Verwendung von ONNX mit Qualcomm-betriebenen Geräten von Smartphones bis zum Cloud-Edge und allem dazwischen



Verwendung von ONNX mit Qualcomm-betriebenen Geräten von Smartphones bis zum Cloud-Edge und allem dazwischen

Die Verwendung des ONNX-Austauschformats in der gesamten Gerätepalette von Qualcomm trägt dazu bei, Modelle auf allen ihren Geräten zu unterstützen. Qualcomm sieht sich schwierigen Architekturen gegenüber, wenn es darum geht, verschiedene Geräte und unterschiedliche Modelle zu unterstützen, aber ONNX hilft, Skalierbarkeit über vertikale, leistungsstarke Geräte und Regionen hinweg zu erreichen. Qualcomm hat mit Microsoft zusammengearbeitet, um einen ONNX-Laufzeitausführungsanbieter zu erstellen, der es ermöglicht, ONNX-Modelle auf Qualcomm-betriebenen Geräten auszuführen, einschließlich solchen, auf denen Windows ausgeführt wird. Der einheitliche Software-Stack umfasst eine Bibliothek namens KI-Engine, die das ONNX-Modell dynamisch an verschiedene Beschleuniger weiterleiten kann, um die beste Leistung zu erzielen, wobei zusätzliche Tools wie Profiler, Compiler und Analysatoren zur Optimierung von Modellen verfügbar sind.

  • 00:00:00 In diesem Abschnitt spricht der Redner von Qualcomm darüber, wie sie ONNX verwenden, um ihre Gerätepalette zu unterstützen, von winzigen Ohrhörern bis hin zu Laptops, sicheren Kameras und sogar Autoausrüstung. Sie erwähnen, dass das Austauschformat von ONNX es ihnen ermöglicht, auf ein Modell abzuzielen und es auf allen Geräten zu verwenden, die sie unterstützen. Sie besprechen auch die herausfordernden Architekturen, mit denen sie sich auseinandersetzen müssen, um die verschiedenen Geräte zusammen mit den verschiedenen Modellen, Implementierungen und Funktionsanforderungen zu unterstützen. Als Beispiel sprechen sie über die Verwendung von Apples Tiefensensortechnologie zur Authentifizierung auf Mobiltelefonen und wie sie dieselbe Technologie nun in sichere Kameras und Autos integriert haben.

  • 00:05:00 In diesem Abschnitt erörtert der Referent die Skalierbarkeitsherausforderung, mit der die Branche heute im Bereich der KI konfrontiert ist. Er erklärt, wie Qualcomm mit der Herausforderung und den Vorteilen der Verwendung von ONNX als Austauschformat umgegangen ist, um Skalierbarkeit zu erreichen. Durch die Verlagerung von Algorithmen von CPU- auf KI-Beschleuniger können die Geräte einfach skaliert werden. Die Multi-Core-Architektur ermöglicht dem System eine höhere Leistung, was bei der Arbeit mit Live-Videostreams hilft. Außerdem spart das Austauschformat viel Zeit, da man sich nicht mit anderen Frameworks auseinandersetzen muss. Abschließend erklärt der Redner, dass ONNX dabei hilft, über Branchen, kleine und leistungsstarke Geräte und Regionen hinweg zu skalieren.

  • 00:10:00 In diesem Abschnitt erläutert der Redner, wie Qualcomm mit Microsoft zusammenarbeitet, um einen ONNX-Laufzeitausführungsanbieter für ihren KI-Beschleuniger zu erstellen. Dadurch können ONNX-Modelle auf einer Vielzahl von Qualcomm-betriebenen Geräten ausgeführt werden, einschließlich Mobil- und Automobilgeräten sowie solchen, auf denen Windows ausgeführt wird. Qualcomm hat einen einheitlichen Software-Stack entwickelt, der eine Vielzahl von Betriebssystemen unterstützt und eine einheitliche Softwarebibliothek namens KI-Engine enthält, die das ONNX-Modell dynamisch an verschiedene Beschleuniger weiterleiten kann, um die beste Leistung zu erzielen. Sie haben auch eine Reihe zusätzlicher Tools für ihre Kunden zur Verfügung, wie Profiler, Compiler und Analysatoren, um Modelle für ihre spezifischen Geräte zu erstellen und zu optimieren.
Using ONNX w/ Qualcomm powered devices from smartphones to the cloud edge and everything in between
Using ONNX w/ Qualcomm powered devices from smartphones to the cloud edge and everything in between
  • 2022.07.13
  • www.youtube.com
Whenever our clients target high performant AI cloud inferencing servers, create new and exciting AI based experiences on mobile phones or improve our lives ...
 

ONNX Runtime IoT-Bereitstellung auf Raspberry Pi



ONNX Runtime IoT-Bereitstellung auf Raspberry Pi

In diesem Video mit dem Titel „ONNX Runtime IoT Deployment on Raspberry Pi“ demonstriert der Moderator, wie eine ONNX Runtime für ein Computer-Vision-Modell auf einem Raspberry Pi mithilfe eines für das Gerät optimierten Mobilenet-Modells bereitgestellt wird. Das Video behandelt den Prozess der Verbindung mit dem Raspberry Pi mit dem VNC-Viewer, dessen Konfiguration und die Durchführung eines Kameratests mit OpenCV und Python. Der Präsentator erfasst ein Bild, führt die Inferenz durch und druckt die fünf besten vorhergesagten Klassen aus, die den Füllfederhalter im Bild korrekt identifizieren. Insgesamt bietet das Video eine hilfreiche Anleitung für die Bereitstellung von ONNX Runtime auf einem Raspberry Pi für Computer-Vision-Anwendungen.

ONNX Runtime IoT Deployment on Raspberry Pi
ONNX Runtime IoT Deployment on Raspberry Pi
  • 2023.02.01
  • www.youtube.com
Learn how to perform image classification on the edge using ONNX Runtime and a Raspberry Pi, taking input from the device’s camera and sending the classifica...