Keras je vysokoúrovňové rozhraní (API) pro programování neuronových sítí, napsané v jazyce Python. Bylo navrženo se zaměřením na rychlé experimentování, přívětivost pro uživatele a modularitu. Keras nefunguje jako samostatná knihovna pro výpočty, ale běží nad tzv. „backendy“ – nejčastěji nad TensorFlow.
Od verze TensorFlow 2.0 je Keras jeho oficiálním a hlavním rozhraním (známé jako tf.keras).
Keras nabízí dvě hlavní cesty, jak postavit neuronovou síť:
Nejjednodušší způsob, kde se vrstvy skládají za sebe jako „komín“. Ideální pro 90 % běžných úloh.
model = keras.Sequential([
layers.Dense(64, activation='relu'),
layers.Dense(10, activation='softmax')
])
Umožňuje definovat složité architektury, kde se vrstvy větví, sdílejí data nebo mají více vstupů a výstupů. Je nezbytné pro moderní sítě jako ResNet nebo Inception.
V roce 2023 byla představena verze Keras 3, která přinesla revoluční změnu: Multi-backend support. Keras už není pevně svázán pouze s TensorFlow, ale umožňuje spouštět stejný kód nad různými výpočetními jádry:
keras.applications, kde najdete hotové a natrénované sítě (VGG16, ResNet50, MobileNet) připravené k okamžitému použití.| Vlastnost | Keras | Čistý TensorFlow (Low-level) |
|---|---|---|
| Abstrakce | Vysoká (jednoduchá) | Nízká (komplexní) |
| Flexibilita | Vysoká (postačující pro většinu) | Absolutní (pro vývoj nových typů operací) |
| Křivka učení | Velmi mírná | Strmá |
| Produktivita | Maximální | Nižší (vyžaduje více kódu) |
— Související termíny: TensorFlow, PyTorch, Neuronové sítě, Python, Deep Learning.