Auf Youtube gibt es eine schöne Präsentation von Martin Görner zum Thema Tensorflow [https://www.youtube.com/watch?v=u4alGiomYP4]. Er erklärt verständlich, wie Deep Learning mit Tensorflow funktioniert und hat dabei sehr anschauliche Visualisierungen.
Ich versuche im Moment intensiv, Tensorflow zu verstehen und mir kommen diese Erklärungen sehr gelegen. Ich wollte dann auch gerne den Code nachvollziehen
Der Code für den Demo liegt auf GitHub. Ich habe den Code lokal installiert und hab dann verzweifelt versucht, nachzuvollziehen, was er macht. Ich hatte aber Schwierigkeiten damit, dass er den Deep-Learning-Code für Tensorflow mit dem Code für die coole Visualisierung mit matplotlib.animation vermischt. Und da beide Bereiche für mich neu sind, kann ich sie nicht auseinanderhalten.
Jetzt habe ich die Visualisierungscode aus Görners Code entfernt. Momentan interessiert mich nur der Tensorflow-Anteil. Ich habe mir den Anfang vom Video noch mal genau angesehen und daraus und aus Görners erste Datei die Logik für das erste neuronale Netz rekonstruiert. Danach habe ich Schrittweise die Änderungen von Görner nachgepflegt in den nächsten Skripten.
Die Ergebnisse liegen auf Github. Falls jemand also Görners Tensorflow-Tutorial an Hand der Code nachvollziehen möchte, dann gibt es jetzt eine einfachere Variante – nur Tensorflow.
Für mich ist das gerade Herausforderung genug.
Mir gefällt an Tensorflow gegenüber KERAS, dass die Mathematik sichtbar ist, dass ich sehe was ich mach. An der andere Seite ist der Vorteil an KERAS, dass man einfacher was machen kann, ohne es zu verstehen…
Ich habe nur die erste sechs Skripte übersetzt. Die RNNs aus Teil 2 habe ich nicht angefasst, die interessieren mich gerade nicht so. Die CNNs brauchen lokal schon einige Stunden. Ich muss mal sehen, dass ich CUDA zum Laufen krieg, vielleicht geht es dann besser.
(Für eine einfache Visualisierung am Ende werden die Zwischenergebnisse in ein Dataframe gespeichert und am Ende geplottet. In der Hauptschleife gibt es Statusaufgaben, somit kann man einschätzen, wie lange man noch warten muss.)