Základní operace

Úvod do TensorFlow v Pythonu

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Co je operace v TensorFlow?

Obrázek zobrazuje operace a tenzory v grafu TensorFlow vykreslené nástrojem TensorBoard. Dva páry matic jsou kombinovány operací sčítání. Výsledné součty jsou poté násobeny.

Úvod do TensorFlow v Pythonu

Co je operace v TensorFlow?

Obrázek zobrazuje operace a tenzory v grafu TensorFlow vykreslené nástrojem TensorBoard. Je zobrazena jedna operace sčítání.

Úvod do TensorFlow v Pythonu

Co je operace v TensorFlow?

Obrázek zobrazuje operace a tenzory v grafu TensorFlow vykreslené nástrojem TensorBoard. Jsou zobrazeny dvě operace sčítání.

Úvod do TensorFlow v Pythonu

Co je operace v TensorFlow?

Obrázek zobrazuje operace a tenzory v grafu TensorFlow vykreslené nástrojem TensorBoard. Dva páry matic jsou kombinovány operací sčítání. Výsledné součty jsou poté násobeny.

Úvod do TensorFlow v Pythonu

Použití operátoru sčítání

#Import constant and add from tensorflow
from tensorflow import constant, add

# Define 0-dimensional tensors
A0 = constant([1])
B0 = constant([2])
# Define 1-dimensional tensors
A1 = constant([1, 2])
B1 = constant([3, 4])
# Define 2-dimensional tensors
A2 = constant([[1, 2], [3, 4]])
B2 = constant([[5, 6], [7, 8]])
Úvod do TensorFlow v Pythonu

Použití operátoru sčítání

# Perform tensor addition with add()
C0 = add(A0, B0)
C1 = add(A1, B1)
C2 = add(A2, B2)
Úvod do TensorFlow v Pythonu

Sčítání tenzorů

  • Operace add() provádí prvkové sčítání dvou tenzorů

  • Prvkové sčítání vyžaduje, aby oba tenzory měly stejný tvar:

    • Sčítání skalárů: $1+2=3$
    • Sčítání vektorů: $[1,2]+[3,4]=[4,6]$
    • Sčítání matic: $\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 6 & 8 \\ 10 & 12 \end{bmatrix}$
  • Operátor add() je přetížený

Úvod do TensorFlow v Pythonu

Násobení v TensorFlow

  • Prvkové násobení se provádí operací multiply()

    • Násobené tenzory musí mít stejný tvar
    • Např. [1,2,3] a [3,4,5] nebo [1,2] a [3,4]
  • Maticové násobení se provádí operátorem matmul()

    • Operace matmul(A,B) násobí A matici B
    • Počet sloupců A musí být roven počtu řádků B
Úvod do TensorFlow v Pythonu

Použití operátorů násobení

# Import operators from tensorflow
from tensorflow import ones, matmul, multiply

# Define tensors
A0 = ones(1)
A31 = ones([3, 1])
A34 = ones([3, 4])
A43 = ones([4, 3])

  • Které operace jsou platné?
    • multiply(A0, A0), multiply(A31, A31) a multiply(A34, A34)
    • matmul(A43, A34), ale ne matmul(A43, A43)
Úvod do TensorFlow v Pythonu

Sumace přes dimenze tenzoru

  • Operátor reduce_sum() sčítá přes dimenze tenzoru
    • reduce_sum(A) sčítá přes všechny dimenze A
    • reduce_sum(A, i) sčítá přes dimenzi i
# Import operations from tensorflow
from tensorflow import ones, reduce_sum

# Define a 2x3x4 tensor of ones
A = ones([2, 3, 4])
Úvod do TensorFlow v Pythonu

Sumace přes dimenze tenzoru

# Sum over all dimensions
B = reduce_sum(A)

# Sum over dimensions 0, 1, and 2
B0 = reduce_sum(A, 0)
B1 = reduce_sum(A, 1)
B2 = reduce_sum(A, 2)
Úvod do TensorFlow v Pythonu

Pojďme si procvičit!

Úvod do TensorFlow v Pythonu

Preparing Video For Download...