Obsah
TensorFlow: Průvodce frameworkem pro Deep Learning
TensorFlow je open-source knihovna pro strojové učení a hluboké učení (deep learning), kterou vyvinul tým Google Brain. Je navržena tak, aby umožňovala snadné škálování výpočtů od mobilních zařízení až po obrovské klastry v datových centrech.
Klíčové vlastnosti
- Ekosystém: TensorFlow není jen knihovna, ale celá platforma zahrnující nástroje pro vizualizaci (TensorBoard), nasazení (TF Serving) a mobilní zařízení (TF Lite).
- Flexibilita: Umožňuje definovat výpočty pomocí grafů, což optimalizuje výkon na CPU, GPU i TPU.
- Keras API: Od verze 2.0 je vysokoúrovňové rozhraní Keras integrováno přímo do TensorFlow, což drasticky zjednodušilo psaní kódu.
Co je to Tensor?
Základní datovou jednotkou v TensorFlow je Tensor. Je to v podstatě vícerozměrné pole (zobecnění matice).
| Typ | Rozměr | Příklad |
|---|---|---|
| Skalár | 0D | `5` |
| Vektor | 1D | `[1, 2, 3]` |
| Matice | 2D | `1, 2], [3, 4` |
| Tensor | nD | Pole s n-dimenzemi |
Architektura TensorFlow
Výpočty v TensorFlow probíhají formou datových toků (data flow graphs). Uzly v grafu představují matematické operace, zatímco hrany představují tensory, které mezi nimi proudí.
1. TensorFlow Core
Nízkoúrovňové C++ engine, který se stará o distribuované výpočty a komunikaci s hardwarem.
2. Keras (Vysoká úroveň)
Uživatelsky přívětivé API pro rychlé prototypování. Většina vývojářů pracuje právě zde.
3. TensorFlow Extended (TFX)
End-to-end platforma pro nasazení produkčních ML modelů (pipeline, správa dat).
Příklad kódu: Lineární regrese
Následující ukázka ukazuje, jak v TensorFlow 2.x vytvořit jednoduchý model:
import tensorflow as tf
from tensorflow.keras import layers
# Vytvoření sekvenčního modelu
model = tf.keras.Sequential([
layers.Dense(64, activation='relu', input_shape=(10,)),
layers.Dense(1)
])
# Kompilace modelu
model.compile(optimizer='adam',
loss='mean_squared_error',
metrics=['mae'])
# Výpis struktury
model.summary()
Výhody a nevýhody
| Výhody | Nevýhody |
|---|---|
| Špičková podpora pro produkční nasazení | Vyšší strmost učení oproti PyTorch |
| Podpora pro TPU (Tensor Processing Units) | Někdy zbytečně komplexní dokumentace |
| Velká komunita a množství návodů | Starší verze (1.x) nejsou kompatibilní s 2.x |
Nástroje pro vizualizaci
Jednou z největších zbraní TensorFlow je TensorBoard. Umožňuje sledovat:
- Průběh ztrátové funkce (loss) a přesnosti (accuracy) v reálném čase.
- Strukturu výpočetního grafu.
- Histogramy vah a biasů v neuronové síti.
Poznámka: Pokud s TensorFlow začínáte, doporučuje se využít službu Google Colab, která nabízí zdarma přístup k výkonným GPU přímo v prohlížeči.
Související témata:
