Базовые операции

Введение в TensorFlow на Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Что такое операция TensorFlow?

На изображении показаны операции и тензоры в графе TensorFlow, отображённом в TensorBoard. Две пары матриц объединяются с помощью операции сложения, а полученные суммы перемножаются.

Введение в TensorFlow на Python

Что такое операция TensorFlow?

На изображении показаны операции и тензоры в графе TensorFlow, отображённом в TensorBoard. Показана одна операция сложения.

Введение в TensorFlow на Python

Что такое операция TensorFlow?

На изображении показаны операции и тензоры в графе TensorFlow, отображённом в TensorBoard. Показаны две операции сложения.

Введение в TensorFlow на Python

Что такое операция TensorFlow?

На изображении показаны операции и тензоры в графе TensorFlow, отображённом в TensorBoard. Две пары матриц объединяются с помощью операции сложения, а полученные суммы перемножаются.

Введение в TensorFlow на Python

Применение оператора сложения

#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]])
Введение в TensorFlow на Python

Применение оператора сложения

# Perform tensor addition with add()
C0 = add(A0, B0)
C1 = add(A1, B1)
C2 = add(A2, B2)
Введение в TensorFlow на Python

Сложение тензоров

  • Операция add() выполняет поэлементное сложение двух тензоров

  • Поэлементное сложение требует, чтобы оба тензора имели одинаковую форму:

    • Сложение скаляров: $1+2=3$
    • Сложение векторов: $[1,2]+[3,4]=[4,6]$
    • Сложение матриц: $\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 6 & 8 \\ 10 & 12 \end{bmatrix}$
  • Оператор add() является перегруженным

Введение в TensorFlow на Python

Умножение в TensorFlow

  • Поэлементное умножение выполняется с помощью операции multiply()

    • Тензоры должны иметь одинаковую форму
    • Например: [1,2,3] и [3,4,5] или [1,2] и [3,4]
  • Матричное умножение выполняется с помощью оператора matmul()

    • matmul(A,B) умножает A на B
    • Число столбцов A должно равняться числу строк B
Введение в TensorFlow на Python

Применение операторов умножения

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

  • Какие операции допустимы?
    • multiply(A0, A0), multiply(A31, A31) и multiply(A34, A34)
    • matmul(A43, A34), но не matmul(A43, A43)
Введение в TensorFlow на Python

Суммирование по измерениям тензора

  • Оператор reduce_sum() суммирует тензор по заданным измерениям
    • reduce_sum(A) суммирует по всем измерениям A
    • reduce_sum(A, i) суммирует по измерению i
# Import operations from tensorflow
from tensorflow import ones, reduce_sum

# Define a 2x3x4 tensor of ones
A = ones([2, 3, 4])
Введение в TensorFlow на Python

Суммирование по измерениям тензора

# 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)
Введение в TensorFlow на Python

Давайте потренируемся!

Введение в TensorFlow на Python

Preparing Video For Download...