Podstawowe operacje

Wprowadzenie do TensorFlow w Pythonie

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Czym jest operacja TensorFlow?

Obraz przedstawia operacje i tensory w grafie TensorFlow, narysowanym przez TensorBoard. Dwie pary macierzy są łączone za pomocą operacji dodawania. Powstałe sumy są następnie mnożone.

Wprowadzenie do TensorFlow w Pythonie

Czym jest operacja TensorFlow?

Obraz przedstawia operacje i tensory w grafie TensorFlow, narysowanym przez TensorBoard. Widoczna jest jedna operacja dodawania.

Wprowadzenie do TensorFlow w Pythonie

Czym jest operacja TensorFlow?

Obraz przedstawia operacje i tensory w grafie TensorFlow, narysowanym przez TensorBoard. Widoczne są dwie operacje dodawania.

Wprowadzenie do TensorFlow w Pythonie

Czym jest operacja TensorFlow?

Obraz przedstawia operacje i tensory w grafie TensorFlow, narysowanym przez TensorBoard. Dwie pary macierzy są łączone za pomocą operacji dodawania. Powstałe sumy są następnie mnożone.

Wprowadzenie do TensorFlow w Pythonie

Stosowanie operatora dodawania

#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]])
Wprowadzenie do TensorFlow w Pythonie

Stosowanie operatora dodawania

# Perform tensor addition with add()
C0 = add(A0, B0)
C1 = add(A1, B1)
C2 = add(A2, B2)
Wprowadzenie do TensorFlow w Pythonie

Dodawanie tensorów

  • Operacja add() wykonuje dodawanie element po elemencie na dwóch tensorach

  • Dodawanie element po elemencie wymaga, aby oba tensory miały ten sam kształt:

    • Dodawanie skalarów: $1+2=3$
    • Dodawanie wektorów: $[1,2]+[3,4]=[4,6]$
    • Dodawanie macierzy: $\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 6 & 8 \\ 10 & 12 \end{bmatrix}$
  • Operator add() jest przeciążony

Wprowadzenie do TensorFlow w Pythonie

Mnożenie w TensorFlow

  • Mnożenie element po elemencie wykonywane za pomocą operacji multiply()

    • Mnożone tensory muszą mieć ten sam kształt
    • Np. [1,2,3] i [3,4,5] lub [1,2] i [3,4]
  • Mnożenie macierzy wykonywane za pomocą operatora matmul()

    • Operacja matmul(A,B) mnoży A przez B
    • Liczba kolumn A musi być równa liczbie wierszy B
Wprowadzenie do TensorFlow w Pythonie

Stosowanie operatorów mnożenia

# 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])

  • Które operacje są poprawne?
    • multiply(A0, A0), multiply(A31, A31) i multiply(A34, A34)
    • matmul(A43, A34), ale nie matmul(A43, A43)
Wprowadzenie do TensorFlow w Pythonie

Sumowanie po wymiarach tensora

  • Operator reduce_sum() sumuje po wymiarach tensora
    • reduce_sum(A) sumuje po wszystkich wymiarach A
    • reduce_sum(A, i) sumuje po wymiarze i
# Import operations from tensorflow
from tensorflow import ones, reduce_sum

# Define a 2x3x4 tensor of ones
A = ones([2, 3, 4])
Wprowadzenie do TensorFlow w Pythonie

Sumowanie po wymiarach tensora

# 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)
Wprowadzenie do TensorFlow w Pythonie

Czas na ćwiczenia!

Wprowadzenie do TensorFlow w Pythonie

Preparing Video For Download...