Pokročilé operace

Úvod do TensorFlow v Pythonu

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Přehled pokročilých operací

  • Probrali jsme základní operace v TensorFlow
    • add(), multiply(), matmul() a reduce_sum()
  • V této lekci prozkoumáme pokročilé operace
    • gradient(), reshape() a random()
Úvod do TensorFlow v Pythonu

Přehled pokročilých operací

Operace Použití
gradient() Vypočítá sklon funkce v daném bodě
reshape() Přetvoří tensor (např. 10×10 na 100×1)
random() Naplní tensor hodnotami z pravděpodobnostního rozdělení
Úvod do TensorFlow v Pythonu

Hledání optima

  • V mnoha úlohách budeme hledat optimum funkce.

    • Minimum: Nejnižší hodnota ztrátové funkce.
    • Maximum: Nejvyšší hodnota účelové funkce.
  • Lze toho dosáhnout pomocí operace gradient().

    • Optimum: Bod, kde gradient = 0.
    • Minimum: Změna gradientu > 0
    • Maximum: Změna gradientu < 0
Úvod do TensorFlow v Pythonu

Výpočet gradientu

Snímek zobrazuje graf funkce y rovná se x.

Úvod do TensorFlow v Pythonu

Výpočet gradientu

Snímek zobrazuje graf funkce y rovná se x na druhou.

Úvod do TensorFlow v Pythonu

Gradienty v TensorFlow

# Import tensorflow under the alias tf
import tensorflow as tf

# Define x
x = tf.Variable(-1.0)
# Define y within instance of GradientTape
with tf.GradientTape() as tape:
    tape.watch(x)
    y = tf.multiply(x, x)
# Evaluate the gradient of y at x = -1
g = tape.gradient(y, x)
print(g.numpy())
-2.0
Úvod do TensorFlow v Pythonu

Obrázky jako tensory

Snímek ukazuje, jak lze obrázek dvou koček reprezentovat 2dimenzionálním tensorem, který lze přetvořit na 1dimenzionální vektor.

Úvod do TensorFlow v Pythonu

Jak přetvořit obrázek ve stupních šedi

# Import tensorflow as alias tf
import tensorflow as tf

# Generate grayscale image
gray = tf.random.uniform([2, 2], maxval=255, dtype='int32')

# Reshape grayscale image
gray = tf.reshape(gray, [2*2, 1])

Obrázek ukazuje přetvoření obrázku ve stupních šedi 2×2 na vektor 4×1.

Úvod do TensorFlow v Pythonu

Jak přetvořit barevný obrázek

# Import tensorflow as alias tf
import tensorflow as tf

# Generate color image
color = tf.random.uniform([2, 2, 3], maxval=255, dtype='int32')

# Reshape color image
color = tf.reshape(color, [2*2, 3])

Obrázek ukazuje přetvoření barevného obrázku 2×2×3 na matici 2×3.

Úvod do TensorFlow v Pythonu

Pojďme procvičovat!

Úvod do TensorFlow v Pythonu

Preparing Video For Download...