Tensorflow und Keras

Machine (Deep) Learning Bibliothek

Keras ist eine Open-Source Bibliothek für neuronale Netze geschrieben in Python. Es kann aufbauend auf Deeplearning4j, Tensorflow, CNTK oder Theano benutzt werden. Die Ausrichtung von Keras zielt auf eine schnelle experimentelle Implementierung von neuronalen Netzen ab. Dabei hat es den Anspruch minimal, modular und erweiterbar zu sein. Entwickelt wurde Keras as Teil des Projektes ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System). Der hautpverantwortliche Entwickler ist François Chollet, ein Google Ingenieur.

Im Jahr 2017 hat das TensorFlow Team entschieden, Keras in TensorFlows Kernbibliothek zu unterstützen. Chollet betont dabei, dass Keras eher als ein Interface anstatt eines Machine Learning Frameworks zu verstehen ist. Keras präsentiert ein Set von abstrakten Lösungen, die es einfach machen neuronale Netze zu konfigurieren, ohne sich um die dahinterliegenden Backends zu kümmern.

Ordnerstruktur

Keras benötigt eine Ordnerstruktur, in der die Klassen und zu lernenden Bilder unterteilt sind. Die Klassen müssen in Trainingsordner und im Validierungsordner vorliegen:

  • data
    • models
      • model.h5
    • train
      • klasse1 (1024 Bilder)
      • klasse2 (1024 Bilder)
    • validation
      • klasse1 (416 Bilder)
      • klasse2 (416 Bilder)

In diesem Fall haben wir eine binäre Klassifikation.

Installation

Keras lässt sich mit pip installieren: “pip install keras”. Es sollte jedoch im Vorfeld bereits TensorFlow installiert sein.

TensorBoard

Um die TensorFlow Berechnungen zu visualisieren (z.B. die Kostenfunktion), wurde das TensorBoard eingeführt. Das Board muss im selben Verzeichnis gestartet werden in dem auch das neuronale Netz berechnet wird. Der Aufruf im Terminal sieht folgendermaßen aus: “tensorboard –logdir=logs/”.