Zum Inhalt springen.

Bildklassifizierung

Dieses Verzeichnis enthält Beispiele und Best Practices für die Erstellung von Bildklassifizierungssystemen. Unser Ziel ist es, Benutzern zu ermöglichen, schnell und einfach hochpräzise Klassifikatoren auf ihren eigenen Datensätzen zu trainieren. Wir stellen Beispiel-Notebooks mit voreingestellten Standardparametern bereit, die sich auf einer Vielzahl von Datensätzen gut bewährt haben. Wir enthalten auch eine umfassende Dokumentation zu häufigen Fallstricken und Best Practices. Zusätzlich zeigen wir, wie Azure, Microsofts Cloud-Computing-Plattform, zur Beschleunigung des Trainings auf großen Datensätzen oder zur Bereitstellung von Modellen als Webservices genutzt werden kann.

Bildklassifizierung (einzelnes Objekt) Bildklassifizierung (mehrere Objekte)

Wir empfehlen die Verwendung von PyTorch als Deep-Learning-Plattform aufgrund seiner einfachen Bedienung, der einfachen Fehlersuche und seiner Popularität in der Data-Science-Community. Für Computer-Vision-Funktionalitäten verlassen wir uns auch stark auf fast.ai, eine PyTorch-Datenwissenschaftsbibliothek mit umfassenden Deep-Learning-Funktionen und umfangreicher Dokumentation. Wir empfehlen dringend, die fast.ai-Vorlesungsreihe 2019 anzusehen, um die zugrunde liegende Technologie zu verstehen. Die Dokumentation von Fast.ai ist ebenfalls eine wertvolle Ressource.

Häufig gestellte Fragen

Antworten auf häufig gestellte Fragen wie „Wie viele Bilder benötige ich, um ein Modell zu trainieren?“ oder „Wie annotiere ich Bilder?“ finden Sie in der Datei FAQ.md.

Notebooks

Wir stellen mehrere Notebooks zur Verfügung, um zu zeigen, wie Bildklassifizierungsalgorithmen entworfen, evaluiert und operationalisiert werden. Notebooks, die mit 0 beginnen, sind für die sequentielle Ausführung vorgesehen, da es Abhängigkeiten zwischen ihnen gibt. Diese Notebooks enthalten einführendes „erforderliches“ Material. Notebooks, die mit 1 beginnen, können als optional betrachtet werden und behandeln komplexere und spezialisierte Themen.

Obwohl alle Notebooks unter Windows ausgeführt werden können, haben wir festgestellt, dass fast.ai unter dem Linux-Betriebssystem deutlich schneller ist. Zusätzlich verbessert die Verwendung einer GPU die Trainingsgeschwindigkeiten erheblich. Wir empfehlen die Verwendung einer Azure Data Science Virtual Machine mit V100 GPU (Anleitung, Preistabelle).

Wir haben auch festgestellt, dass einige Browser Jupyter-Widgets nicht korrekt rendern. Wenn Sie Probleme haben, versuchen Sie, einen alternativen Browser wie Edge oder Chrome zu verwenden.

Notebook-Name Beschreibung
00_webcam.ipynb Demonstriert die Inferenz auf einem Bild von der Webcam Ihres Computers mit einem vortrainierten Modell.
01_training_introduction.ipynb Führt einige grundlegende Konzepte rund um das Modelltraining und die -bewertung ein.
02_multilabel_classification.ipynb Führt die Multilabel-Klassifizierung ein und stellt die wichtigsten Unterschiede zwischen dem Training von Multilabel- und Einzellabel-Klassifizierungsmodellen vor.
03_training_accuracy_vs_speed.ipynb Trainiert ein Modell mit hoher Genauigkeit im Vergleich zu einem mit schneller Inferenzgeschwindigkeit. Verwenden Sie dies, um auf Ihren eigenen Datensätzen zu trainieren!
10_image_annotation.ipynb Eine einfache Benutzeroberfläche zum Annotieren von Bildern.
11_exploring_hyperparameters.ipynb Findet optimale Modellparameter mithilfe der Grid-Suche.
12_hard_negative_sampling.ipynb Demonstriert, wie harte Negative zur Verbesserung Ihrer Modellleistung verwendet werden können.
20_azure_workspace_setup.ipynb Richtet Ihre Azure-Ressourcen und Ihren Azure Machine Learning-Workspace ein.
21_deployment_on_azure_container_instances.ipynb Stellt ein trainiertes Modell bereit, das als REST-API über Azure Container Instances (ACI) verfügbar ist.
22_deployment_on_azure_kubernetes_service.ipynb Stellt ein trainiertes Modell bereit, das als REST-API über den Azure Kubernetes Service (AKS) verfügbar ist.
23_aci_aks_web_service_testing.ipynb Testet die bereitgestellten Modelle auf ACI oder AKS.
24_exploring_hyperparameters_on_azureml.ipynb Führt hochgradig paralleles Parameter-Sweeping mit AzureMLs HyperDrive durch.

Azure-erweiterte Notebooks

Azure-Produkte und -Dienste werden in bestimmten Notebooks verwendet, um die Effizienz der Entwicklung von Klassifizierungssystemen im großen Maßstab zu verbessern.

Um diese Notebooks erfolgreich auszuführen, **benötigen die Benutzer ein Azure-Abonnement** oder können Azure kostenlos nutzen.

Die in den Notebooks vorgestellten Azure-Produkte umfassen