Hej Leute,

vielleicht habt ihr schon mal von Keras im Zusammenhang mit Neuronalen Netzen gehört. Nun fragt ihr euch, was das denn genau ist.

Ganz kurz: Keras ist eine Schnittstelle zu mehreren Deep Learning Frameworks.

Aber das ist natürlich ein bisschen zu kurz. Also hier eine etwas längere Erklärung.

Was ist ein Deep Learning Framework?

Ein Deep Learning Framework ist eine Programmbibliothek, welche das Erstellen, Trainieren und Anwenden von Neuronalen Netzen relativ komfortabel ermöglicht, ohne das Neuronale Netz komplett selber programmieren zu müssen. In der Praxis wird nämlich nicht jedes Mal von Null begonnen, sondern man möchte ja schnell zu Resultaten kommen und nicht das Rad nochmal neu erfinden. Dafür gibt es mehrere Deep Learning Bibliotheken für verschiedene Programmiersprachen.

Die bekanntesten sind (ohne Gewähr)

  • TensorFlow (Python, C/C++, Java, Go, JavaScript, R, Julia, Swift)
  • PyTorch (Python)
  • Caffe (Python, Matlab, C++)
  • Theano (Python)
  • MXNet (C++, Python, Julia, Matlab, JavaScript, Go, R, Scala, Perl)
  • Microsoft Cognitive Toolkit / CNTK (Python, C++, BrainScript)
  • Keras (Python, R)

Aber ist Keras dann so was wie TensorFlow?

Keras hat eine Sonderrolle, denn es ist eigentlich ein Interface und setzt auf andere Frameworks auf. Damit können TensorFlow, Microsoft Cognitive Toolkit und Theano als Backend verwendet werden, die Befehle in Keras sind immer die gleichen. Keras wurde mit dem Ziel entwickelt, Experimente schnell realisieren zu können. D.h. eine nutzerfreundliche API mit wenig Overhead.

Kann ich Keras auch in R nutzen?

Ja, Keras ist neben MXNet eine der wenigen Bibliotheken, welche auch für R vorhanden ist. Und da Keras als Backends ja TensorFlow, Theano und Microsoft Cognitive Toolkit unterstützt, können wir diese also ziemlich bequem aus R heraus steuern.

Der Befehl zum Installieren des Packages in R ist ziemlich simpel, jedenfalls mit CPU-basiertem TensorFlow im Hintergrund.

install.packages("keras")
library(keras)
install_keras()

Also, viel Spaß mit Keras!