


Sie wissen nicht, wie Sie Modelle für maschinelles Lernen einsetzen? 15 Bilder entführen Sie in das TensorFlow-Bereitstellungsframework!
Eröffnung
Vor ein paar Tagen unterhielt ich mich mit einem Freund, Xiao Li, der seit drei Jahren in der Entwicklung tätig ist, und erfuhr, dass sein Unternehmen ein Projekt im Zusammenhang mit maschinellem Lernen durchführt. Kürzlich erhielt er den Auftrag, das trainierte Modell für maschinelles Lernen bereitzustellen. Dies beunruhigt Xiao Li. Er beschäftigt sich seit fast einem halben Jahr mit der Datenerfassung, Datenbereinigung, dem Aufbau von Umgebungen, dem Modelltraining und der Modellbereitstellung .
Also habe ich auf der Grundlage meiner eigenen Erfahrung eine populärwissenschaftliche Studie zum Einsatz von Modellen für maschinelles Lernen durchgeführt. Wie in Abbildung 1 gezeigt, übergeben wir bei der herkömmlichen Programmierung Regeln und Daten an das Programm, um die gewünschten Antworten zu erhalten. Beim maschinellen Lernen trainieren wir die Regeln jedoch durch die Antworten und Daten.
Abbildung 1 Der Unterschied zwischen traditioneller Programmierung und maschinellem Lernen
Der Modelleinsatz von maschinellem Lernen besteht darin, diese Regel (Modell) auf dem Terminal bereitzustellen, auf dem maschinelles Lernen angewendet werden muss. Wie in Abbildung 2 dargestellt, kann das durch maschinelles Lernen trainierte Modell als Funktion, API oder SDK verstanden werden und auf dem entsprechenden Terminal (der graue Teil in der Abbildung) bereitgestellt werden. Nach der Bereitstellung verfügt das Terminal über die vom Modell bereitgestellten Funktionen. Zu diesem Zeitpunkt können durch Eingabe neuer Daten die vorhergesagten Ergebnisse gemäß den Regeln (Modell) erhalten werden.
Abbildung 2 Prinzip der Bereitstellung von Modellen für maschinelles Lernen
TensorFlow-Bereitstellungsframework für maschinelles Lernen
Xiao Li sagte, er habe verstanden, nachdem er meine Einführung gehört hatte, und erzählte mir bitte mit großem Interesse die vollständige Bereitstellungssituation ihres Projekts Sag es mir, ich möchte dich um meine Meinung bitten. Wie in Abbildung 3 dargestellt, möchten sie ein Bilderkennungsmodell auf iOS-, Android-, Raspberry Pi-, Webbrowser- und Serverseite bereitstellen.
Abbildung 3 Modellbereitstellungsszenario
Aus dem Bereitstellungsanwendungsszenario weist es die Eigenschaften von leichtgewichtig und plattformübergreifend auf. Das gleiche Modell für maschinelles Lernen muss auf mehreren verschiedenen Plattformen bereitgestellt werden, und jede Plattform verfügt über unterschiedliche Speicher- und Rechenfunktionen. Gleichzeitig müssen die Verfügbarkeit, Leistung, Sicherheit und Skalierbarkeit des Modellbetriebs berücksichtigt und eine relativ stabile große Plattform verwendet werden. Deshalb habe ich ihm das Machine-Learning-Deployment-Framework von TensorFlow empfohlen. Wie in Abbildung 4 dargestellt, bietet das Bereitstellungsframework von TensorFlow Komponentenunterstützung für verschiedene Plattformen. Unter ihnen reagieren Android, IOS und Raspberry Pi auf TensorFlow Lite, ein Modellbereitstellungsframework, das speziell für mobile Endgeräte verwendet wird. Die Browserseite kann TensorFlow.js verwenden und die Serverseite kann TensorFlow Serving verwenden.
Abbildung 4 TensorFlow-Modellbereitstellungsframework für maschinelles Lernen
TensorFlow Lite-Tatsächlicher Betrieb
Xiao Li wollte mehr über den spezifischen Bereitstellungsprozess erfahren. Ich hatte zufällig ein Projekt in der Hand, das das Bereitstellungsframework von TensorFlow verwendete , also Zeigen Sie ihm den Vorgang. Bei diesem Projekt geht es darum, das Modell „Katzen- und Hundeerkennung“ auf Android-Telefonen bereitzustellen. Da iOS, Android, Raspberry Pi und Browser allesamt Clients sind, können ihre Rechenressourcen nicht mit denen des Servers verglichen werden. Insbesondere mobile Anwendungen zeichnen sich durch geringes Gewicht, geringe Latenz, hohe Effizienz, Datenschutz, Energieeinsparung usw. aus. Daher hat TensorFlow ihre Bereitstellung speziell entwickelt und verwendet TensorFlow Lite für die Bereitstellung.
Die Verwendung von TensorFlow Lite zum Bereitstellen eines Modells erfordert drei Schritte:
- Verwenden Sie TensorFlow, um das Modell zu trainieren.
- In das TensorFlow Lite-Format konvertieren.
- Verwenden Sie zum Laden und Ausführen den TensorFlow Lite-Interpreter.
Im ersten Schritt haben wir das Modelltraining abgeschlossen. Der zweite Schritt besteht darin, das generierte Modell in ein Musterformat zu konvertieren, das TensorFlow Lite erkennen und verwenden kann. Wie oben erwähnt, müssen bei der Verwendung des Modells auf dem mobilen Endgerät verschiedene Aspekte berücksichtigt werden, sodass ein spezielles Dateiformat für das mobile Endgerät generiert werden muss. Der dritte Schritt besteht darin, die konvertierte TensorFlow Lite-Datei in den mobilen Interpreter zu laden und auszuführen.
Da unser Fokus auf der Modellbereitstellung liegt, wird der erste Schritt des Modelltrainings vorübergehend übersprungen, d. h. es wird davon ausgegangen, dass Sie das Modell bereits trainiert haben. Den zweiten Schritt der Modellkonvertierung finden Sie in Abbildung 5. Das TensorFlow-Modell wird über den Konverter in eine Modelldatei mit dem Suffix „.tflite“ konvertiert, dann auf verschiedenen Plattformen veröffentlicht und über den Interpreter auf jeder Plattform verarbeitet. Erklären und laden.
Abbildung 5 TensorFlow Lite-Modellkonvertierungsarchitektur
Modellspeicherung und -konvertierung
Die Architektur von TensorFlow Lite wird oben vorgestellt. Hier müssen Sie das Modell als TensorFlow-Modell speichern und konvertieren. Wie in Abbildung 6 gezeigt, rufen wir die Methode „saved_model.save“ in TensorFlow auf, um das Modell (trainiertes Modell) im angegebenen Verzeichnis zu speichern.
Abbildung 6 Speichern des TensorFlow-Modells
Nach dem Speichern des Modells ist es an der Zeit, das Modell zu konvertieren. Rufen Sie wie in Abbildung 7 gezeigt die Methode from_saved_model im TFLiteConverter-Paket in TensorFlow Lite auf, um das zu generieren Konverter-Instanz (Modellkonverter) und rufen Sie dann die Konvertierungsmethode im Konverter auf, um das Modell zu konvertieren und die konvertierte Datei im angegebenen Verzeichnis zu speichern.
Abbildung 7 Konvertieren in das TFlite-Modellformat
Laden Sie das Anwendungsmodell
Da es sich bei diesem Beispiel um die Modellbereitstellung des Android-Systems handelt, muss die Abhängigkeit von TensorFlow Lite in Android eingeführt werden. Führen Sie, wie in Abbildung 8 gezeigt, die Abhängigkeit von TensorFlow Lite ein und setzen Sie noCompress in aaptOptions auf „tflite“, was bedeutet, dass Dateien mit „tflite“ nicht komprimiert werden. Wenn die Komprimierung festgelegt ist, erkennt das Android-System möglicherweise keine tflite-Dateien.
Abbildung 8 Im Projekt eingeführte Abhängigkeiten von TensorFlow Lite
Kopieren Sie nach der Konfiguration der Abhängigkeiten die konvertierte TFlite-Datei in die Assets-Datei, wie in Abbildung 9 dargestellt. Diese Datei wird später geladen die maschinelles Lernen durchführen.
Abbildung 9 Hinzufügen der Tflite-Datei
Nach dem Hinzufügen der Tflite-Datei erstellen wir einen Classifier-Klassifizierer, um „Katzen- und Hunde“-Bilder zu klassifizieren. Wie in Abbildung 10 gezeigt, wird der Interpreter in init in Classifer initialisiert, die Methode „loadModuleFlie“ aufgerufen, um die tflite-Datei zu laden, und die Klassifizierungsbezeichnung (labelList) wird hier angegeben. Die Bezeichnung lautet hier „cat dog“.
Abbildung 10 Initialisierung des Interpreters
Nach der Erstellung des Klassifikators wird das Katzen- und Hundeklassifizierungsmodell zur Identifizierung des Bildes verwendet. Das heißt, in der Classifier-Klasse ist der Eingabeparameter der Methode „convertBitmapToByteBuffer“ das Bild der Katze und des Hundes, auf das wir besonders achten rot in der for-Schleife. Konvertieren Sie die grünen und blauen Kanäle, legen Sie das Konvertierungsergebnis in einen ByteBuffer und geben Sie es zurück. Die Methode „recoginzeImage“ ruft „convertBitmapToByteBuffer“ auf und verwendet die Ausführungsmethode des Interpreters, um Bilderkennungsarbeiten durchzuführen, d. h. mithilfe eines Modells für maschinelles Lernen, um Bilder von Katzen und Hunden zu identifizieren.
Abbildung 11 Bilder erkennen
Der obige grafische Transformationsprozess ist zu abstrakt, wir werden ihn wie in Abbildung 12 konkretisieren. Das von uns eingegebene Bild ist das 395 * 500-Bild in der oberen linken Ecke des Bildes, wodurch das Bild in der Bildansicht in eine Bitmap-Form konvertiert wird. Da unsere Modelleingabe ein 224*224-Format erfordert, ist eine Konvertierung erforderlich. Als nächstes werden die Pixel in ein 224*224 ByteBuffer-Array eingefügt und gespeichert, und schließlich werden die RGB-Pixel (rot, grün und blau) als Eingabeparameter des Modells normalisiert (geteilt durch 255).
Abbildung 12 Der Konvertierungsprozess des Eingabebildes
An diesem Punkt ist das Laden und Anwenden des maschinellen Lernmodells abgeschlossen. Natürlich sind auch die Eingabedateien und das Layout unverzichtbar. Wie in Abbildung 13 gezeigt, speichern wir die Bilder, die vorhergesagt werden müssen (Katzen- und Hundebilder), im Zeichenordner. Erstellen Sie dann die Datei „activity_image_classifier.xml“ unter dem Layout, um die ImageView zu erstellen und zu speichern.
Abbildung 13 Eingabebilddateien und Layoutdateien
Schließlich erstellen Sie eine ImageClassifierActivity, um Bilder anzuzeigen und auf Ereignisse zu reagieren, die Bilder identifizieren. Binden Sie, wie in Abbildung 14 gezeigt, das Onclick-Ereignis jedes Bildes in der initViews-Methode und rufen Sie dann die Recoginzie-Image-Methode in der Onclick-Methode auf, um das Bild zu identifizieren.
Abbildung 14 Bilderkennung in Onclick durchführen
Werfen wir einen Blick auf den Effekt. Wie in Abbildung 15 dargestellt, wird beim Klicken auf das entsprechende Bild eine „Hund“-Eingabeaufforderung angezeigt, die das Vorhersageergebnis angibt.
Abbildung 15 Demonstrationseffekt
Die Überprüfung des gesamten Prozesses ist nicht kompliziert. Ich fasse das TensorFlow Lite-Bereitstellungsmodell in den folgenden Schritten zusammen:
- Speichern Sie das Modell für maschinelles Lernen.
- Konvertieren Sie das Modell in das TFlite-Format.
- Laden Sie das Modell im TFlite-Format.
- Verwenden Sie den Interpreter, um das Modell zu laden.
- Ergebnisse der Eingabeparametervorhersage.
Studenten, die ihre Fähigkeiten zur TensorFlow-Modellbereitstellung weiter erlernen möchten, können die offiziellen Kurse von TensorFlow erlernen, ein Konto beim MOOC der chinesischen Universität registrieren und kostenlos lernen: https://www.php cn /link/1f5f6ad95cc908a20bb7e30ee28a5958
Es gibt auch Online-Bereitstellungserklärungen und Fragen und Antworten von Google-Entwicklerexperten. Ich empfehle Studenten, die ein vorläufiges Verständnis der TensorFlow-Bereitstellungsfunktionen erlangen möchten, darauf zu achten https ://www.php.cn/link/e046ede63264b10130007afca077877f
Ende
Nachdem Xiao Li sich meine Erklärung zur Modellbereitstellung für maschinelles Lernen angehört und den TensorFlow-Bereitstellungsprozess verstanden hatte, war er noch gespannter darauf, die praktische Bereitstellung auszuprobieren. Ich denke, der Bereitstellungsprozess mit TensorFlow ist logisch klar, die Methode ist einfach und leicht zu implementieren und für Entwickler mit 3-5 Jahren Erfahrung ist der Einstieg einfach. Darüber hinaus bietet TensorFlow offiziell den „TensorFlow Introductory Practical Course“ an, der für Anfänger ohne Vorkenntnisse im maschinellen Lernen geeignet ist: https://www.php.cn/link/bf2fe6582ed9ead9161a3d6f6b1d6858 #🎜🎜 #
Vorstellung des Autors Cui Hao, 51CTO-Community-Redakteur, leitender Architekt, verfügt über 20 Jahre Architekturerfahrung. Er war einst als technischer Experte bei HP tätig, nahm an mehreren Projekten zum maschinellen Lernen teil und schrieb und übersetzte mehr als 20 beliebte technische Artikel zu maschinellem Lernen, NLP usw. Autor von „Distributed Architecture Principles and Practice“.Das obige ist der detaillierte Inhalt vonSie wissen nicht, wie Sie Modelle für maschinelles Lernen einsetzen? 15 Bilder entführen Sie in das TensorFlow-Bereitstellungsframework!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Diese Seite berichtete am 27. Juni, dass Jianying eine von FaceMeng Technology, einer Tochtergesellschaft von ByteDance, entwickelte Videobearbeitungssoftware ist, die auf der Douyin-Plattform basiert und grundsätzlich kurze Videoinhalte für Benutzer der Plattform produziert Windows, MacOS und andere Betriebssysteme. Jianying kündigte offiziell die Aktualisierung seines Mitgliedschaftssystems an und führte ein neues SVIP ein, das eine Vielzahl von KI-Schwarztechnologien umfasst, wie z. B. intelligente Übersetzung, intelligente Hervorhebung, intelligente Verpackung, digitale menschliche Synthese usw. Preislich beträgt die monatliche Gebühr für das Clipping von SVIP 79 Yuan, die Jahresgebühr 599 Yuan (Hinweis auf dieser Website: entspricht 49,9 Yuan pro Monat), das fortlaufende Monatsabonnement beträgt 59 Yuan pro Monat und das fortlaufende Jahresabonnement beträgt 499 Yuan pro Jahr (entspricht 41,6 Yuan pro Monat). Darüber hinaus erklärte der Cut-Beamte auch, dass diejenigen, die den ursprünglichen VIP abonniert haben, das Benutzererlebnis verbessern sollen

Verbessern Sie die Produktivität, Effizienz und Genauigkeit der Entwickler, indem Sie eine abrufgestützte Generierung und ein semantisches Gedächtnis in KI-Codierungsassistenten integrieren. Übersetzt aus EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG, Autor JanakiramMSV. Obwohl grundlegende KI-Programmierassistenten natürlich hilfreich sind, können sie oft nicht die relevantesten und korrektesten Codevorschläge liefern, da sie auf einem allgemeinen Verständnis der Softwaresprache und den gängigsten Mustern beim Schreiben von Software basieren. Der von diesen Coding-Assistenten generierte Code eignet sich zur Lösung der von ihnen zu lösenden Probleme, entspricht jedoch häufig nicht den Coding-Standards, -Konventionen und -Stilen der einzelnen Teams. Dabei entstehen häufig Vorschläge, die geändert oder verfeinert werden müssen, damit der Code in die Anwendung übernommen wird

Um mehr über AIGC zu erfahren, besuchen Sie bitte: 51CTOAI.x Community https://www.51cto.com/aigc/Translator|Jingyan Reviewer|Chonglou unterscheidet sich von der traditionellen Fragendatenbank, die überall im Internet zu sehen ist erfordert einen Blick über den Tellerrand hinaus. Large Language Models (LLMs) gewinnen in den Bereichen Datenwissenschaft, generative künstliche Intelligenz (GenAI) und künstliche Intelligenz zunehmend an Bedeutung. Diese komplexen Algorithmen verbessern die menschlichen Fähigkeiten, treiben Effizienz und Innovation in vielen Branchen voran und werden zum Schlüssel für Unternehmen, um wettbewerbsfähig zu bleiben. LLM hat ein breites Anwendungsspektrum und kann in Bereichen wie der Verarbeitung natürlicher Sprache, der Textgenerierung, der Spracherkennung und Empfehlungssystemen eingesetzt werden. Durch das Lernen aus großen Datenmengen ist LLM in der Lage, Text zu generieren

Large Language Models (LLMs) werden auf riesigen Textdatenbanken trainiert und erwerben dort große Mengen an realem Wissen. Dieses Wissen wird in ihre Parameter eingebettet und kann dann bei Bedarf genutzt werden. Das Wissen über diese Modelle wird am Ende der Ausbildung „verdinglicht“. Am Ende des Vortrainings hört das Modell tatsächlich auf zu lernen. Richten Sie das Modell aus oder verfeinern Sie es, um zu erfahren, wie Sie dieses Wissen nutzen und natürlicher auf Benutzerfragen reagieren können. Aber manchmal reicht Modellwissen nicht aus, und obwohl das Modell über RAG auf externe Inhalte zugreifen kann, wird es als vorteilhaft angesehen, das Modell durch Feinabstimmung an neue Domänen anzupassen. Diese Feinabstimmung erfolgt mithilfe von Eingaben menschlicher Annotatoren oder anderer LLM-Kreationen, wobei das Modell auf zusätzliches Wissen aus der realen Welt trifft und dieses integriert

Maschinelles Lernen ist ein wichtiger Zweig der künstlichen Intelligenz, der Computern die Möglichkeit gibt, aus Daten zu lernen und ihre Fähigkeiten zu verbessern, ohne explizit programmiert zu werden. Maschinelles Lernen hat ein breites Anwendungsspektrum in verschiedenen Bereichen, von der Bilderkennung und der Verarbeitung natürlicher Sprache bis hin zu Empfehlungssystemen und Betrugserkennung, und es verändert unsere Lebensweise. Im Bereich des maschinellen Lernens gibt es viele verschiedene Methoden und Theorien, von denen die fünf einflussreichsten Methoden als „Fünf Schulen des maschinellen Lernens“ bezeichnet werden. Die fünf Hauptschulen sind die symbolische Schule, die konnektionistische Schule, die evolutionäre Schule, die Bayes'sche Schule und die Analogieschule. 1. Der Symbolismus, auch Symbolismus genannt, betont die Verwendung von Symbolen zum logischen Denken und zum Ausdruck von Wissen. Diese Denkrichtung glaubt, dass Lernen ein Prozess der umgekehrten Schlussfolgerung durch das Vorhandene ist

Herausgeber | Der Frage-Antwort-Datensatz (QA) von ScienceAI spielt eine entscheidende Rolle bei der Förderung der Forschung zur Verarbeitung natürlicher Sprache (NLP). Hochwertige QS-Datensätze können nicht nur zur Feinabstimmung von Modellen verwendet werden, sondern auch effektiv die Fähigkeiten großer Sprachmodelle (LLMs) bewerten, insbesondere die Fähigkeit, wissenschaftliche Erkenntnisse zu verstehen und zu begründen. Obwohl es derzeit viele wissenschaftliche QS-Datensätze aus den Bereichen Medizin, Chemie, Biologie und anderen Bereichen gibt, weisen diese Datensätze immer noch einige Mängel auf. Erstens ist das Datenformular relativ einfach, die meisten davon sind Multiple-Choice-Fragen. Sie sind leicht auszuwerten, schränken jedoch den Antwortauswahlbereich des Modells ein und können die Fähigkeit des Modells zur Beantwortung wissenschaftlicher Fragen nicht vollständig testen. Im Gegensatz dazu offene Fragen und Antworten

Laut Nachrichten dieser Website vom 1. August hat SK Hynix heute (1. August) einen Blogbeitrag veröffentlicht, in dem es ankündigt, dass es am Global Semiconductor Memory Summit FMS2024 teilnehmen wird, der vom 6. bis 8. August in Santa Clara, Kalifornien, USA, stattfindet viele neue Technologien Generation Produkt. Einführung des Future Memory and Storage Summit (FutureMemoryandStorage), früher Flash Memory Summit (FlashMemorySummit), hauptsächlich für NAND-Anbieter, im Zusammenhang mit der zunehmenden Aufmerksamkeit für die Technologie der künstlichen Intelligenz wurde dieses Jahr in Future Memory and Storage Summit (FutureMemoryandStorage) umbenannt Laden Sie DRAM- und Speicheranbieter und viele weitere Akteure ein. Neues Produkt SK Hynix wurde letztes Jahr auf den Markt gebracht

Herausgeber |. KX Im Bereich der Arzneimittelforschung und -entwicklung ist die genaue und effektive Vorhersage der Bindungsaffinität von Proteinen und Liganden für das Arzneimittelscreening und die Arzneimitteloptimierung von entscheidender Bedeutung. Aktuelle Studien berücksichtigen jedoch nicht die wichtige Rolle molekularer Oberflächeninformationen bei Protein-Ligand-Wechselwirkungen. Auf dieser Grundlage schlugen Forscher der Universität Xiamen ein neuartiges Framework zur multimodalen Merkmalsextraktion (MFE) vor, das erstmals Informationen über Proteinoberfläche, 3D-Struktur und -Sequenz kombiniert und einen Kreuzaufmerksamkeitsmechanismus verwendet, um verschiedene Modalitäten zu vergleichen Ausrichtung. Experimentelle Ergebnisse zeigen, dass diese Methode bei der Vorhersage von Protein-Ligand-Bindungsaffinitäten Spitzenleistungen erbringt. Darüber hinaus belegen Ablationsstudien die Wirksamkeit und Notwendigkeit der Proteinoberflächeninformation und der multimodalen Merkmalsausrichtung innerhalb dieses Rahmens. Verwandte Forschungen beginnen mit „S
