[PYTHON] Bis Sie versuchen, DNN mithilfe von Colab die Wahrheit des Bildes mitteilen zu lassen

Einführung

Ich wollte im Colaboratory die Wahrheit über das Bild erfahren, aber es war schwierig, an verschiedenen Orten Informationen zu sammeln. Also habe ich beschlossen, das fertige Produkt so einzufügen, wie es ist. Python Für diejenigen, die es irgendwie verstehen.

Tu es nicht https://colab.research.google.com/drive/1ETjxVKCA3zv391tEAY5RHM_cyipIA9D-?hl=ja

Ich glaube nicht, dass irgendjemand es so benutzen kann, wie es ist, aber ich hoffe, es hilft jemandem. ** Ich habe es geschafft, ohne mit Jupyter-Notebook oder Python vertraut zu sein, also hoffe ich, dass Sie auf etwas hinweisen können. ** ** **

Was ich machen wollte

Das wollte ich tun.

Struktur des ZIP-Dateiordners

Was machst du

Schreiben Sie eine Erklärung, was Sie leicht tun. Gehen Sie zu Colaboratory und sehen Sie sich den Code an.

1. Zelle (Google Drive-Mount)

Mounten Sie Google Drive. Wie du siehst. Es scheint, dass GitHub in der Welt oft verwendet wird. Mit GoogleDrive ist die Authentifizierung jedes Mal problematisch.

Zweite Zelle (Erweiterung der Trainingsdaten)

Extrahieren Sie die ZIP-Datei mit den Trainingsdaten auf Google Drive auf die Festplatte. Es ist möglich, jedes Bild von Trainingsdaten von Google Drive zu lesen, es ist jedoch langsam. Dies liegt daran, dass es viel schneller ist, eine ZIP-Datei zu erstellen, alles auf die Festplatte zu extrahieren und dann von der Festplatte zu lesen.

Dritte Zelle (Lesen von Trainingsdaten)

Ich wollte, dass die Trainingsdaten und Testdaten die gleiche Anzahl von Wahrheiten aufweisen, also habe ich einen Generator "generate_paths" erstellt, der beim Mischen abwechselnd Bildpfade mit der Wahrheit zurückgibt. Das ist, 0-1, 0-2, 0-3, 0-4, 0-5 als falsch Als wahr 1-1, 1-2, 1-3, 1-4, 1-5 Angenommen, es gab 10 Bilder von 0-3, 1-5, 0-1, 1-1, 0-2, 1-3, 0-4, 1-4, 0-5, 1-2 Gibt wie zurück.

Es wäre möglicherweise einfacher zu verstehen gewesen, wenn Sie die Liste normal gemischt hätten, ohne einen Generator zu verwenden.

Bei der Methode "load_data" werden die Bilder tatsächlich gelesen und zu einem Array verarbeitet. Die meisten Bilder, die in dieser Zeit behandelt wurden, haben einen weißen Hintergrund, daher habe ich sie auf "1 - X / 255" gesetzt und sie auf einen Gleitkommawert von 0 zu 1 invertiert. Es ist ungefähr 0 und manchmal gibt es eine 1. Es gibt auch Farbbilder, daher beträgt die Anzahl der Eingangskanäle 3.

Vierte Zelle (Lernen)

Ich werde mein Bestes geben, um zu lernen. Vergessen Sie nicht, die Zeit zu sparen, die Sie beendet haben, damit Sie wissen, wann Sie fertig sind.

import datetime
tz_jst = datetime.timezone(datetime.timedelta(hours=9), name="JST")
now = datetime.datetime.now(tz_jst)
str_now = now.strftime("%Y/%m/%d %H:%M:%S")
print(f"Das Training ist vorbei{str_now}")

Speichern Sie das gesamte Modell und seine Architektur.

5. Zelle (Grafik zeichnen)

Zeigen Sie es mit "% matplotlib inline" auf dem Bildschirm an und speichern Sie es in Google Drive.

Fazit

Labor, GPU usw. sind sehr bequem und kostenlos zu verwenden. Es wäre schön, überall darauf zugreifen zu können, auch von einem iPhone aus. Es ist jedoch traurig, dass GPU und TPU tagsüber nicht verwendet werden können.

In Bezug auf das Lernergebnis, Genauigkeit, über 0,7 ... Ich habe verschiedene Versuche und Irrtümer ausprobiert, aber es ist ein wenig subtil ... Ich kann nicht sagen, was die Trainingsdaten sind, aber ich glaube, dass die Trainingsdaten für dieses Ergebnis schlecht (oder eher schlecht) sind.

Recommended Posts

Bis Sie versuchen, DNN mithilfe von Colab die Wahrheit des Bildes mitteilen zu lassen
Versuchen Sie, mit n die von Ihnen installierte Version von Node.js herunterzustufen
Versuchen Sie, iptables zu lernen, bis Sie im Internet surfen können
Bis Sie die Google Cloud Vision-API ausprobieren (Erkennung schädlicher Bilder)
Versuchen Sie, ein neues Bild mit dem trainierten StyleGAN2-Modell zu bearbeiten
Ich habe versucht, das Gesichtsbild mit sparse_image_warp von TensorFlow Addons zu transformieren
Ich habe versucht, die Trefferergebnisse von Hachinai mithilfe der Bildverarbeitung zu erhalten
Versuchen Sie, die Höhendaten des National Land Research Institute mit Python abzubilden
Versuchen Sie, den Zustand der Straßenoberfläche mithilfe von Big Data des Straßenoberflächenmanagements zu ermitteln
Lassen Sie die Maschine die Regeln von FizzBuzz "lernen"
Lassen Sie die COTOHA-API die schwierigen Dinge tun - Einführung in das "Lernen mit" der Verarbeitung natürlicher Sprache -
[Python] Ich habe versucht, das Mitgliederbild der Idolgruppe mithilfe von Keras zu beurteilen
So erhalten Sie den Notebook-Namen, den Sie derzeit in Google Colab verwenden
Versuchen Sie, dem Bild die Verzerrung des Fischaugenobjektivs hinzuzufügen
Überprüfen Sie den Typ der von Ihnen verwendeten Variablen
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Versuchen Sie es mit dem Sammlungsmodul (ChainMap) von python3
Ich habe versucht, den Bildfilter von OpenCV zu verwenden
Versuchen Sie, die Bewegung des Sonnensystems zu simulieren
Bis Sie den Quellcode an die öffentliche Zweigstelle von AGL (Automotive Grade Linux) übergeben
Ich habe versucht, den Text in der Bilddatei mit Tesseract der OCR-Engine zu extrahieren
Versuchen Sie, die Anzahl der Likes auf Twitter zu schätzen
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Die Geschichte der Verwendung von Circleci zum Bau vieler Linux-Räder
Ich habe versucht, das Bild mithilfe von maschinellem Lernen zu komprimieren
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Versuchen Sie, die Funktionsliste des Python> os-Pakets abzurufen
CNN mit Keras Versuchen Sie es mit dem Bild, das Sie aufgenommen haben
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Regression zu bewerten
Probieren Sie die ähnliche Suche von Image Search mit Python SDK [Search] aus.
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Klassifizierung zu bewerten
Versuchen Sie, die Genauigkeit der Twitter-ähnlichen Zahlenschätzung zu verbessern
Versuchen Sie, die Probleme / Probleme des "Matrix-Programmierers" zu lösen (Kapitel 0-Funktion)
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Versuchen Sie, eine multimodale Verteilung mithilfe des EM-Algorithmus zu modellieren
Versuchen Sie, Merkmale von Sensordaten mit CNN zu extrahieren
Wenn Sie mehrere Versionen derselben Python-Bibliothek verwenden möchten (virtuelle Umgebung mit venv)
Lernen Sie Buchhaltungsdaten kennen und versuchen Sie, Konten aus dem Inhalt der Beschreibung vorherzusagen, wenn Sie Journale eingeben