Obsah

Keras

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).

Hlavní principy Keras

Dva způsoby definice modelů

Keras nabízí dvě hlavní cesty, jak postavit neuronovou síť:

1. Sequential API (Sekvenční)

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')
])

2. Functional API (Funkcionální)

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.

Ekosystém a Keras 3

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:

Výhody použití Keras

Srovnání: Keras vs. Čistý TensorFlow

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.