Функция one_hot
Функция one_hot создает one-hot тензор
из переданного тензора индексов. Первым
параметром функция принимает тензор с
индексами классов. Вторым параметром
передается глубина - количество классов.
Третьим и четвертым параметрами можно
передать значения для позиций on и off.
Синтаксис
tf.one_hot(indices, depth, [on_value], [off_value], [axis], [dtype])
Пример
Давайте создадим one-hot тензор из тензора
индексов 0, 1, 2 с глубиной
3:
import tensorflow as tf
t = tf.constant([0, 1, 2])
res = tf.one_hot(t, depth=3)
print(res)
Результат выполнения кода:
tf.Tensor(
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]], shape=(3, 3), dtype=float32)
Пример
Давайте создадим one-hot тензор из
двумерного тензора индексов с глубиной
4:
import tensorflow as tf
t = tf.constant([[1, 2], [3, 0]])
res = tf.one_hot(t, depth=4)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[0. 1. 0. 0.]
[0. 0. 1. 0.]]
[[0. 0. 0. 1.]
[1. 0. 0. 0.]]], shape=(2, 2, 4), dtype=float32)
Пример
Давайте создадим one-hot тензор со своими
значениями on_value и off_value:
import tensorflow as tf
t = tf.constant([0, 1, 2])
res = tf.one_hot(t, depth=3, on_value=5, off_value=-5)
print(res)
Результат выполнения кода:
tf.Tensor(
[[ 5 -5 -5]
[-5 5 -5]
[-5 -5 5]], shape=(3, 3), dtype=int32)
Пример
Давайте создадим one-hot тензор с целым
типом данных int32:
import tensorflow as tf
t = tf.constant([0, 1, 2])
res = tf.one_hot(t, depth=3, dtype=tf.int32)
print(res)
Результат выполнения кода:
tf.Tensor(
[[1 0 0]
[0 1 0]
[0 0 1]], shape=(3, 3), dtype=int32)
Смотрите также
-
функцию
constant,
которая создает тензор из переданных данных -
функцию
cast,
которая преобразует тензор к другому типу данных -
функцию
eye,
которая создает единичную матрицу -
функцию
convert_to_tensor,
которая преобразует данные в тензор