Uživatelské nástroje

Nástroje pro tento web


keras

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

  • Uživatelská přívětivost: Keras minimalizuje počet akcí potřebných pro běžné úkoly a poskytuje jasnou zpětnou vazbu při chybách.
  • Modularita: Model je v Kerasu chápán jako posloupnost nebo graf samostatných, plně konfigurovatelných modulů (vrstvy, aktivace, optimalizátory).
  • Snadná rozšiřitelnost: Nové moduly lze snadno přidávat jako nové třídy nebo funkce v Pythonu.

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:

  • TensorFlow: Pro maximální stabilitu a nasazení.
  • PyTorch: Pro výzkumníky, kteří preferují ekosystém Mety.
  • JAX: Pro extrémně výkonné vědecké výpočty od Googlu.

Výhody použití Keras

  • Rychlost prototypování: To, co v nízkoúrovňovém kódu trvá hodiny, v Kerasu naprogramujete za minuty.
  • Podpora pro CPU i GPU: Keras automaticky detekuje dostupný hardware a využívá jej pro zrychlení trénování.
  • Předtrénované modely: Součástí knihovny je keras.applications, kde najdete hotové a natrénované sítě (VGG16, ResNet50, MobileNet) připravené k okamžitému použití.

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.

keras.txt · Poslední úprava: autor: admin