Erstellen Sie leistungsstarke Bildklassifizierungsmodelle mit Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Erstellen Sie leistungsstarke Bildklassifizierungsmodelle mit Amazon SageMaker JumpStart

Die Bildklassifizierung ist eine auf Computer Vision basierende Technik des maschinellen Lernens (ML), mit der Sie Bilder klassifizieren können. Einige bekannte Beispiele für die Bildklassifizierung umfassen die Klassifizierung handgeschriebener Ziffern, die Klassifizierung medizinischer Bilder und die Gesichtserkennung. Die Bildklassifizierung ist eine nützliche Technik für mehrere Geschäftsanwendungen, aber das Erstellen eines guten Bildklassifizierungsmodells ist nicht trivial.

Bei der Bewertung eines ML-Modells können mehrere Überlegungen eine Rolle spielen. Über die Modellgenauigkeit hinaus sind andere potenziell wichtige Metriken die Modelltrainingszeit und die Inferenzzeit. Angesichts der iterativen Natur der ML-Modellentwicklung ermöglichen schnellere Trainingszeiten Data Scientists, verschiedene Hypothesen schnell zu testen. Schnellere Inferenzen können in Echtzeitanwendungen kritisch sein.

Amazon SageMaker-JumpStart bietet mit einem Klick die Feinabstimmung und Bereitstellung einer Vielzahl vortrainierter Modelle für beliebte ML-Aufgaben sowie eine Auswahl an End-to-End-Lösungen, die häufige Geschäftsprobleme lösen. Diese Funktionen entlasten jeden Schritt des ML-Prozesses, erleichtern die Entwicklung hochwertiger Modelle und verkürzen die Bereitstellungszeit. JumpStart-APIs ermöglichen Ihnen die programmgesteuerte Bereitstellung und Feinabstimmung einer großen Auswahl von JumpStart-unterstützten vortrainierten Modellen auf Ihren eigenen Datensätzen.

Sie können die in JumpStart angebotenen ML-Modelle vor der Bereitstellung inkrementell trainieren und optimieren. Zum Zeitpunkt der Erstellung dieses Artikels sind 87 Deep-Learning-basierte Bildklassifizierungsmodelle in JumpStart verfügbar.

Aber welches Modell liefert die besten Ergebnisse? In diesem Beitrag stellen wir eine Methodik vor, mit der Sie problemlos mehrere Modelle ausführen und ihre Ergebnisse in drei interessierenden Dimensionen vergleichen können: Modellgenauigkeit, Trainingszeit und Inferenzzeit.

Lösungsüberblick

Mit JumpStart können Sie Modelle entweder von der JumpStart-Konsole aus über ihre Benutzeroberfläche oder über ihre API trainieren, optimieren und bereitstellen. In diesem Beitrag verwenden wir die API-Route und stellen ein Notebook mit verschiedenen Hilfsskripten vor. Sie können dieses Notebook ausführen und Ergebnisse für einen einfachen Vergleich dieser Modelle miteinander erhalten und dann ein Modell auswählen, das Ihren Geschäftsanforderungen in Bezug auf Modellgenauigkeit, Schulungszeit und Inferenzzeit am besten entspricht.

Das öffentlicher Datensatz Die in diesem Beitrag verwendeten Bilder bestehen aus fast 55,000 Bildern von erkrankten und gesunden Pflanzenblättern, die unter kontrollierten Bedingungen gesammelt wurden, mit Klassenbezeichnungen von 0 bis 38. Dieser Datensatz ist in Trainings- und Validierungsdatensätze unterteilt, mit ungefähr 44,000 im Training und 11,000 Bildern im Validierungsprozess. Nachfolgend einige Beispielbilder.

Für diese Übung haben wir Modelle aus zwei Frameworks ausgewählt – PyTorch und TensorFlow – wie sie von JumpStart angeboten werden. Die folgenden 15 Modellalgorithmen decken ein breites Spektrum gängiger neuronaler Netzwerkarchitekturen aus diesen Frameworks ab:

  • pytorch-ic-alexnet-FT
  • pytorch-ic-densenet121-FT
  • pytorch-ic-densenet201-FT
  • pytorch-ic-googlenet-FT
  • pytorch-ic-mobilenet-v2-FT
  • pytorch-ic-resnet152-FT
  • pytorch-ic-resnet34-FT
  • tensorflow-ic-bit-s-r101x1-ilsvrc2012-classification-1-FT
  • tensorflow-ic-imagenet-inception-resnet-v2-classification 4-FT
  • tensorflow-ic-imagenet-inception-v3-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-075-224-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT
  • tensorflow-ic-imagenet-resnet-v2-152-classification-4-FT
  • tensorflow-ic-tf2-preview-mobilenet-v2-classification-4-FT

Wir verwenden das Modell tensorflow-ic-imagenet-inception-v3-classification-4-FT als Basis, mit der Ergebnisse anderer Modelle verglichen werden. Dieses Basismodell wurde willkürlich ausgewählt.

Der zum Ausführen dieses Vergleichs verwendete Code ist auf der verfügbar AWS Samples GitHub Repo.

Die Ergebnisse

In diesem Abschnitt präsentieren wir die Ergebnisse dieser 15 Läufe. Für alle diese Läufe waren die verwendeten Hyperparameter Epochen = 5, Lernrate = 0.001, Stapelgröße = 16.

Modellgenauigkeit, Trainingszeit und Inferenzzeit aus dem Modell tensorflow-ic-imagenet-inception-v3-classification-4-FT wurden als Basis genommen, und die Ergebnisse aller anderen Modelle werden relativ zu diesem Basismodell dargestellt. Wir möchten hier nicht zeigen, welches Modell das beste ist, sondern vielmehr zeigen, wie Sie über die JumpStart-API Ergebnisse verschiedener Modelle vergleichen und dann ein Modell auswählen können, das am besten zu Ihrem Anwendungsfall passt.

Der folgende Screenshot hebt das Basismodell hervor, mit dem alle anderen Modelle verglichen wurden.

Erstellen Sie leistungsstarke Bildklassifizierungsmodelle mit Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Das folgende Diagramm zeigt eine detaillierte Ansicht der relativen Genauigkeit im Vergleich zur relativen Trainingszeit. PyTorch-Modelle sind rot und TensorFlow-Modelle blau farbcodiert.

Erstellen Sie leistungsstarke Bildklassifizierungsmodelle mit Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Die mit einer grünen Ellipse hervorgehobenen Modelle im vorherigen Diagramm scheinen eine gute Kombination aus relativer Genauigkeit und geringer relativer Trainingszeit zu haben. Die folgende Tabelle enthält weitere Einzelheiten zu diesen drei Modellen.

Modell Relative Genauigkeit Relative Trainingszeit
tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT 1.01 0.74
tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT 1.02 0.74
tensorflow-ic-bit-s-r101x1-ilsvrc2012-klassifizierung-1-FT 1.04 1.16

Das folgende Diagramm vergleicht die relative Genauigkeit mit der relativen Inferenzzeit. PyTorch-Modelle sind rot und TensorFlow-Modelle blau farbcodiert.

Erstellen Sie leistungsstarke Bildklassifizierungsmodelle mit Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Die folgende Tabelle enthält Details zu den drei Modellen in der grünen Ellipse.

Modell Relative Genauigkeit Relative Inferenzzeit
tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT 1.01 0.94
tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT 1.02 0.90
tensorflow-ic-bit-s-r101x1-ilsvrc2012-klassifizierung-1-FT 1.04 1.43

Die beiden Diagramme zeigen deutlich, dass bestimmte Modellalgorithmen in den drei ausgewählten Dimensionen besser abschneiden als andere. Die Flexibilität, die diese Übung bietet, kann Ihnen bei der Auswahl des richtigen Algorithmus helfen, und mit dem mitgelieferten Notebook können Sie diese Art von Experimenten problemlos auf jedem der 87 verfügbaren Modelle ausführen.

Zusammenfassung

In diesem Beitrag haben wir gezeigt, wie Sie mit JumpStart leistungsstarke Bildklassifizierungsmodelle für mehrere interessante Dimensionen erstellen können, z. B. Modellgenauigkeit, Trainingszeit und Inferenzlatenz. Wir haben auch den Code bereitgestellt, um diese Übung auf Ihrem eigenen Datensatz auszuführen; Sie können alle interessanten Modelle aus den 87 Modellen auswählen, die derzeit für die Bildklassifizierung im JumpStart-Modell-Hub verfügbar sind. Wir empfehlen Ihnen, es noch heute auszuprobieren.

Weitere Einzelheiten zu JumpStart finden Sie unter SageMaker-JumpStart.


Über die Autoren

Erstellen Sie leistungsstarke Bildklassifizierungsmodelle mit Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Dr. Raju Penmatcha ist ein AI/ML Specialist Solutions Architect für AI-Plattformen bei AWS. Er promovierte an der Stanford University. Er arbeitet eng an der Low/No-Code-Suite von Diensten in SageMaker, die Kunden dabei helfen, Modelle und Lösungen für maschinelles Lernen einfach zu erstellen und bereitzustellen. Wenn er nicht gerade Kunden hilft, reist er gerne an neue Orte.

Erstellen Sie leistungsstarke Bildklassifizierungsmodelle mit Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Dr. Ashish Khetan ist Senior Applied Scientist mit integrierten Amazon SageMaker-Algorithmen und hilft bei der Entwicklung von Algorithmen für maschinelles Lernen. Er promovierte an der University of Illinois Urbana-Champaign. Er ist ein aktiver Forscher auf dem Gebiet des maschinellen Lernens und der statistischen Inferenz und hat viele Artikel auf den Konferenzen NeurIPS, ICML, ICLR, JMLR, ACL und EMNLP veröffentlicht.

Zeitstempel:

Mehr von AWS Maschinelles Lernen