Zurück zur Skill-Übersicht

Skill-Wissen und Projektmarkt

Keras

Freelancer, Projekte, Experten und Wissen rund um Keras.

Kategorie

MachineLearning

Quelle

Keras

Keras Freelancer und Projekte finden

Auf jobtic.com vernetzen sich IT-Freelancer direkt mit Recruitern, Fachbereichsleitern und Projektanbietern. Egal ob du Expertise im Bereich Keras suchst oder anbietest, unser intelligenter Algorithmus bringt dich direkt mit den passenden Spezialisten und Projekten zusammen.

Alles Wissenswerte zum Thema Keras

Wikipedia

Keras

Artikel öffnen

Keras ist eine Open Source Deep-Learning-Bibliothek, geschrieben in Python. Sie wurde von François Chollet initiiert und erstmals am 28. März 2015 veröffentlicht.[2] Keras bietet eine einheitliche Schnittstelle für verschiedene Backends, darunter PyTorch, TensorFlow, Google JAX, Microsoft Cognitive Toolkit (vormals CNTK) und Theano. Das Ziel von Keras ist es, die Anwendung dieser Bibliotheken so einsteiger- und nutzerfreundlich wie möglich zu machen.[3]

Seit dem Release von TensorFlow 1.4 ist Keras Teil der Tensorflow Core API, jedoch wird Keras als eigenständige Bibliothek weitergeführt, da es laut François Chollet nicht als Schnittstelle für Tensorflow, sondern als Schnittstelle für viele Bibliotheken gedacht ist.[4][5] Mit dem Release von Keras 2.4 wurde die Multi-Backend-Unterstützung eingestellt.[6] Mit der Veröffentlichung von Keras 3 wurde die Multi-Backend-Unterstützung wieder aufgenommen und seitdem Google JAX, TensorFlow und PyTorch unterstützt. Für Inferenzen wird seit Keras 3.8 auch OpenVINO unterstützt.[7]

Beispiel

Das folgende Beispiel soll die grundlegende Funktionsweise darstellen. Darin wird einem neuronalen Netzwerk mithilfe von Keras die Funktion eines Exklusiv-Oder-Gatters beigebracht:

# Über TensorFlow laden
#
# from tensorflow.keras.layers import Dense
# from tensorflow.keras.models import Sequential
#
# oder
#
# Aus Keras direkt laden
from keras.layers import Dense
from keras.models import Sequential

# Numpy laden und festlegen des Zufalls-Startwertes
import numpy as np
np.random.seed(1337)

# Matplotlib zur grafischen Darstellung laden
import matplotlib.pyplot as plt

# Daten in Arrays speichern
eingangswerte = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
ausgangswerte = np.array([[0], [1], [1], [0]])

# Erstellt das Model mit 2 Eingangsnodes, 2 Mittelnodes und einer Ausgangsnode
num_inner = 2

model = Sequential()
model.add(Dense(num_inner, input_dim=2, activation='sigmoid'))
model.add(Dense(1))

# Kompiliert das Model, damit es spaeter verwendet werden kann
model.compile(loss='mean_squared_error',
              optimizer='adam',
              metrics=['accuracy'])

# Trainiert das Model mit den Eingangs-
# und den entsprechenden Ausgangswerten fuer 10000 Epochen
model.fit(x=eingangswerte, y=ausgangswerte, epochs=10000, verbose=0)

# Testet die Eingangsdaten und schreibt die Ergebnisse in die Konsole
print(model.predict(eingangswerte))

Als Ausgabe erhält man folgendes:

[[  8.34465027e-07]  # Eingang 0 und 0, zu erwartender Ausgang 0
 [  9.99996364e-01]  # Eingang 0 und 1, zu erwartender Ausgang 1
 [  9.99996185e-01]  # Eingang 1 und 0, zu erwartender Ausgang 1
 [  5.48362732e-06]] # Eingang 1 und 1, zu erwartender Ausgang 0

Das Modell ist mit zwei Eingangsknoten, zwei Mittelknoten und einem Ausgangsknoten sehr einfach. Es braucht jedoch 10000 Epochen, um zu guten Ergebnissen zu kommen. Eine andere Aktivierungsfunktion, hier tanh, kann die Anzahl der Epochen auf 1000 reduzieren:

# Erstellt das Model mit 2 Eingangsnodes, 32 Mittelnodes und einer Ausgangsnode
model = Sequential()
model.add(Dense(32, input_dim=2, activation='tanh'))
model.add(Dense(1, activation='tanh'))

Als Ausgabe erhält man folgendes:

Using Theano backend.
[[0.00473237]
 [0.944603  ]
 [0.9461131 ]
 [0.00609871]]

Die Modellanalyse kann direkt mit numpy und matplotlib erfolgen. In diesem Fall werden dem Modell gerasterte Eingabedaten übergeben und die Ausgabe grafisch zweidimensional in einem Contourplot dargestellt. Ebenso werden die Grenzen der Klassifizierung als Linien und die diskreten Eingabewerte als Punkte dargestellt:

# Bereitet die grafische Ausgabe mittels contourf vor
# und rastert die Eingabewerte fuer das Modell
x = np.linspace(-0.25, 1.25, 100)
(X1_raster, X2_raster) = np.meshgrid(x, x)
X1_vektor = X1_raster.flatten()
X2_vektor = X2_raster.flatten()

# Nutzt die gerasterten Eingabewerte und erzeugt Ausgabewerte
eingangswerte_grafik = np.vstack((X1_vektor, X2_vektor)).T
ausgangswerte_grafik = model.predict(eingangswerte_grafik).reshape(X1_raster.shape)

# Fragt die Gewichte der Verbindungen und die Bias-Daten ab
(gewichte, bias) = model.layers[0].get_weights()

# Contourplot der gerasterten Ausgangswerte in leicht vergroessertem
# Bereich und Legende
plt.contourf(X1_raster, X2_raster, ausgangswerte_grafik, 100)
plt.xlim(-0.25, 1.25)
plt.ylim(-0.25, 1.25)
plt.xlabel("Eingabewert $x_1$")
plt.ylabel("Eingabewert $x_2$")
plt.colorbar()

# Eintragen der Eingangsdaten in die Grafik
plt.scatter(np.array([0, 0, 1, 1]), np.array([0, 1, 0, 1]), color="red")

# Plot der Klassifizierungs-"Begrenzungslinien" der Aktivierungsfunktionen
for i in range(num_inner):
    plt.plot(x,
             -gewichte[0, i]/gewichte[1, i]*x
             - bias[i]/gewichte[1, i], color="black")
plt.show()

Die Darstellungen für beide Varianten des Modells sehen wie folgt aus (links erste Variante, 10000 Epochen; rechts zweite Variante, 1000 Epochen):

Literatur

  • François Chollet: Deep Learning mit Python und Keras: Das Praxis-Handbuch vom Entwickler der Keras-Bibliothek. mitp, 2018, ISBN 978-3-95845-838-3

Weblinks

Einzelnachweise

  1. Release 3.15.1. 29. Juli 2026 (abgerufen am 30. Juli 2026).
  2. Add initial public version of Keras. 28. März 2015, abgerufen am 9. Juli 2018 (englisch).
  3. Keras backends. 4. Januar 2018, abgerufen am 9. Juli 2018 (englisch).
  4. Release TensorFlow 1.4.0. 2. November 2017, abgerufen am 9. Juli 2018 (englisch).
  5. Good news, Tensorflow chooses Keras! #5050. 16. Januar 2017, abgerufen am 9. Juli 2018 (englisch).
  6. keras-team: Release Keras 2.4.0 · keras-team/keras. Abgerufen am 11. November 2025 (englisch).
  7. Keras: Deep Learning for humans. Abgerufen am 11. November 2025.
Wikipedia

Dieser Text basiert auf dem Artikel Keras aus der freien Enzyklopädie Wikipedia und steht unter der Lizenz Creative Commons CC-BY-SA 3.0 Unported. Eine Liste der Autoren ist in der Wikipedia verfügbar.

MachineLearning

Vernetzung stärken

Auf jobtic verbindest du dich direkt mit spezialisierten Freelancern und Auftraggebern rund um Keras und andere IT-Themen. Die Plattform vereint dabei Wissensdatenbank und Projektmarkt. So knüpfst du wertvolle Kontakte und findest sofort die passenden Köpfe oder IT-Projekte.

Zentral vernetzen

Ob für Projekte oder den Wissensaustausch mit Gleichgesinnten: jobtic ist deine Plattform für Keras und alle Themen der IT-Welt. Vernetze dich direkt mit Experten und Projektanbietern, finde zu deiner Spezialisierung passende Aufträge und nutze aktuelles Know-how für dein Business.

Experten finden

jobtic.com verbindet IT-Freelancer und Projektanbieter im DACH-Raum. Unser Suchalgorithmus, der auf jahrzehntlanger Erfahrung im Contracting beruht, findet die besten Spezialisten im Bereich für dein Projekt.

Passende Projekte zu Keras

Mehr Projekte
Im Moment ist kein Keras-Projekt offen. Du suchst ein Projekt in diesem Bereich? Versuch es mit anderen Stichwörtern und schau regelmäßig vorbei, hier tut sich ständig etwas! Du hast selbst ein Projekt aus dem Bereich Keras? Stell es jetzt ein und sichere dir die volle Aufmerksamkeit!