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.
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 |
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í.
Nízkoúrovňové C++ engine, který se stará o distribuované výpočty a komunikaci s hardwarem.
Uživatelsky přívětivé API pro rychlé prototypování. Většina vývojářů pracuje právě zde.
End-to-end platforma pro nasazení produkčních ML modelů (pipeline, správa dat).
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 | 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 |
Jednou z největších zbraní TensorFlow je TensorBoard. Umožňuje sledovat:
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: