Heim >Technologie-Peripheriegeräte >KI >Wie mache ich Bildklassifizierung mit Mobilenetv2 -Modell?
Mobilenet ist ein Open-Source-Modell, das die Entstehung von Smartphones unterstützt. Es verwendet eine CNN -Architektur, um Computer -Vision -Aufgaben wie Bildklassifizierung und Objekterkennung auszuführen. Modelle, die diese Architektur verwenden, erfordern normalerweise viele Rechenkosten und Hardware -Ressourcen, aber Mobilenet wurde dazu gebracht, mit mobilen Geräten zu arbeiten und sich einzubetten.
Im Laufe der Jahre wurde dieses Modell für verschiedene reale Anwendungen verwendet. Es verfügt auch über einige Funktionen, z. B. die Reduzierung der Parameter mithilfe der Faltung der Tiefenabteilung. Mit den begrenzten Hardware -Ressourcen mobiler Geräte kann diese Technik dazu beitragen, das Modell funktional zu machen.
Wir werden diskutieren, wie dieses Modell Bilder mithilfe der vorgeschriebenen Klasse zu Klassifikatoren mit Tiefe effizient klassifiziert.
Dieser Artikel wurde als Teil des Data Science -Blogathon veröffentlicht.
Dies ist jedoch mit hohen Rechenkosten und erhöhten Parameterzahl geliefert, weshalb die Notwendigkeit einer tiefen und punktuellen Faltung erforderlich ist.
Die Tiefenverfolgung wendet einen einzelnen Filter auf den Eingangskanal an, während die pointentische Ausgabe aus der Tiefenverfolgung kombiniert, um neue Merkmale aus dem Bild zu erstellen.
ist also der Unterschied hier, dass die Multiplikationsaufgabe bei der Anwendung von Tiefenwiell nur ein einzelner Filter reduziert wird, was bedeutet, dass der Ausgang die gleiche Anzahl von Kanälen wie die Eingabe hat. Dies führt zur punktgenannten Faltung.
tbe pointise -Faltung verwendet einen 1 × 1 -Filter, der Funktionen kombiniert oder erweitert. Dies hilft dem Modell, verschiedene Muster zu lernen, die auf den Kanalfunktionen verzichten, um eine neue Funktionskarte zu erstellen. Dies ermöglicht die punkte Faltung, die Anzahl der Kanäle in der Ausgangsfunktionskarte zu erhöhen oder zu verringern.
Dieses Computer Vision -Modell basiert auf CNN -Architektur, um Aufgaben zur Bildklassifizierung und Objekterkennung auszuführen. Die Verwendung einer tiefen trennbaren Faltung besteht darin, dieses Modell an mobile und eingebettete Geräte anzupassen, da es das Aufbau von leichten tiefen neuronalen Netzwerken ermöglicht.
Dieser Mechanismus bringt die Reduzierung der Parameterzahlen und die Latenz mit den Ressourcenbeschränkungen ein. Die Architektur ermöglicht Effizienz und Genauigkeit in der Ausgabe des Modells.
Die zweite Version dieses Modells (Mobilenetv2) wurde mit einer Verbesserung erstellt. Mobilenet V2 führte eine spezielle Art von Baustift ein, die invertierte Residuen mit Engpässen bezeichnet. Diese Blöcke reduzieren die Anzahl der verarbeiteten Kanäle und machen das Modell effizienter. Es enthält auch Verknüpfungen zwischen Engpassschichten, um den Informationsfluss zu verbessern. Anstatt eine Standardaktivierungsfunktion (Relu) in der letzten Schicht zu verwenden, verwendet sie eine lineare Aktivierung, die besser funktioniert, da die Daten in dieser Phase eine niedrigere räumliche Größe haben.
erfordert dieses Modell für die Bildklassifizierung einige Schritte. Das Modell empfängt und klassifiziert ein Eingabebild unter Verwendung seiner eingebauten Vorhersageklasse. Lassen Sie uns in die Schritte eintauchen, wie man Mobilenet ausführt:
Sie müssen einige wesentliche Module importieren, um dieses Modell auszuführen. Dies beginnt mit dem Importieren des Bildprozessor- und Bildklassifizierungsmoduls aus der Transformator -Bibliothek. Sie helfen bei der Vorverarbeitung von Bildern und laden ein vorgebildetes Modell. Außerdem wird PIL verwendet, um Bilder zu manipulieren, während Sie mit „Anfragen“ Bilder aus dem Web abrufen können.
from transformers import AutoImageProcessor, AutoModelForImageClassification from PIL import Image import requests
image = Image.open('/content/imagef-ishfromunsplash-ezgif.com-webp-to-jpg-converter.jpg')
Die Funktion "Image.open" wird aus der PIL -Bibliothek verwendet, um das Bild von einem Dateipfad zu laden, der in diesem Fall von unserem lokalen Gerät hochgeladen wurde. Eine andere Alternative wäre, das Bild mit seiner URL zu holen.
Der nachstehende Code initialisiert den Prozess "AutoimageProcessor" aus dem vorgeborenen Modell Mobilenetv2. Dieser Teil übernimmt das Bild vorverarbeitet, bevor er es dem Modell füttert. Wie in der zweiten Zeile zu sehen, lädt der Code das entsprechende Mobilenetv2 -Modell für die Bildklassifizierung.
preprocessor = AutoImageProcessor.from_pretrained("google/mobilenet_v2_1.0_224") model = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_1.0_224")
In diesem Schritt wird das vorverarbeitete Bild in ein für Pytorch geeigneter Format umgewandelt. Dann wird es durch das Modell geleitet, um Ausgangsprotokoll zu generieren, die unter Verwendung von Softmax in Wahrscheinlichkeiten umgewandelt werden.
inputs = preprocessor(images=image, return_tensors="pt") outputs = model(**inputs) logits = outputs.logits
# model predicts one of the 1000 ImageNet classes predicted_class_idx = logits.argmax(-1).item() print("Predicted class:", model.config.id2label[predicted_class_idx])
Dieser Code findet die Klasse mit dem höchsten Vorhersagewert aus der Ausgabe (Logits) des Modells und ruft ihre entsprechende Etikett aus der Konfiguration des Modells ab. Das vorhergesagte Klassenetikett wird dann gedruckt.
Hier ist die Ausgabe:
Hier ist ein Link zur Colab -Datei.
Mobilenet hat Anwendungen in verschiedenen realen Anwendungsfällen gefunden. Und es wurde in verschiedenen Bereichen einschließlich des Gesundheitswesens eingesetzt. Hier sind einige der Anwendungen dieses Modells:
Sie können auch das Modell hier überprüfen: Link
mobilenet ist das Ergebnis einer Meisterklasse durch Google -Forscher, um Modelle mit hohen Rechenkosten auf mobile Geräte zu bringen, ohne ihre Effizienz zu stören. Dieses Modell wurde auf einer Architektur basiert, die die Erstellung von Bildklassifizierung und Erkennung nur aus mobilen Anwendungen ermöglicht. Die Anwendungsfälle im Gesundheitswesen und in der Landwirtschaft sind Beweise für die Kapazitäten dieses Modells.
Es gibt einige Gesprächsthemen darüber, wie dieses Modell funktioniert, von der Architektur bis zu Anwendungen. Hier sind einige der Höhepunkte dieses Artikels:
Die in diesem Artikel gezeigten Medien sind nicht im Besitz von Analytics Vidhya und wird nach Ermessen des Autors verwendet.
Ans. Mobilenetv2 verwendet eine detiefe trennbare Faltung und umgekehrte Residuen, wodurch es für mobile und eingebettete Systeme effizienter wird als herkömmliche CNNs. Q2. Kann Mobilenetv2 für Echtzeitanwendungen verwendet werden?
Ans. Mobilenetv2 ist für Aufgaben mit geringer Latenz und Echtzeit-Bildklassifizierung optimiert, wodurch es für mobile und Kantengeräte geeignet ist. Q3. Wie genau ist Mobilenetv2 im Vergleich zu größeren Modellen?
Ans. Während Mobilenetv2 für die Effizienz optimiert ist, hält es eine hohe Genauigkeit in der Nähe größerer Modelle, was es zu einer starken Wahl für mobile AI -Anwendungen macht. Q4. Wie genau ist Mobilenetv2 im Vergleich zu größeren Modellen?
Ans. Während Mobilenetv2 für die Effizienz optimiert ist, hält es eine hohe Genauigkeit in der Nähe größerer Modelle, was es zu einer starken Wahl für mobile AI -Anwendungen macht.
Das obige ist der detaillierte Inhalt vonWie mache ich Bildklassifizierung mit Mobilenetv2 -Modell?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!