Продвинутые операции

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

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Обзор продвинутых операций

  • Мы рассмотрели базовые операции в TensorFlow
    • add(), multiply(), matmul() и reduce_sum()
  • В этом уроке — продвинутые операции
    • gradient(), reshape() и random()
Введение в TensorFlow на Python

Обзор продвинутых операций

Операция Назначение
gradient() Вычисляет наклон функции в точке
reshape() Изменяет форму тензора (например, 10x10 → 100x1)
random() Заполняет тензор значениями из вероятностного распределения
Введение в TensorFlow на Python

Поиск оптимума

  • Во многих задачах нужно найти оптимум функции.

    • Минимум: наименьшее значение функции потерь.
    • Максимум: наибольшее значение целевой функции.
  • Для этого используется операция gradient().

    • Оптимум: точка, где градиент = 0.
    • Минимум: изменение градиента > 0
    • Максимум: изменение градиента < 0
Введение в TensorFlow на Python

Вычисление градиента

На слайде показан график функции y равно x.

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

Вычисление градиента

На слайде показан график функции y равно x в квадрате.

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

Градиенты в 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
Введение в TensorFlow на Python

Изображения как тензоры

На слайде показано, как изображение двух кошек представляется двумерным тензором, который затем преобразуется в одномерный вектор.

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

Изменение формы изображения в оттенках серого

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

На рисунке показано, как изображение в оттенках серого размером 2 на 2 преобразуется в вектор 4 на 1.

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

Изменение формы цветного изображения

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

На рисунке показано, как цветное изображение размером 2 на 2 на 3 преобразуется в матрицу 2 на 3.

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

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

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

Preparing Video For Download...