Spec-Zone.ru › TensorFlow 2.9

tf.one_hot

Просмотреть исходный код на GitHub

Возвращает тензор one-hot.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.one_hot

tf.one_hot(
    indices,
    depth,
    on_value=None,
    off_value=None,
    axis=None,
    dtype=None,
    name=None
)

См. также tf.fill, tf.eye.

Позиции, представленные индексами в indices, принимают значение on_value, а все остальные позиции принимают значение off_value.

on_value и off_value должны иметь совпадающие типы данных. Если dtype также указан, они должны иметь тот же тип данных, что и dtype.

Если on_value не указан, он будет по умолчанию равен значению 1 типа dtype

Если off_value не указан, он будет по умолчанию равен значению 0 типа dtype

Если вход indices имеет ранг N, вывод будет иметь ранг N+1. Новая ось создается на позиции axis (по умолчанию новая ось добавляется в конец).

Если indices является скаляром, форма вывода будет вектором длины depth

Если indices является вектором длины features, форма вывода будет:

features x depth if axis == -1
depth x features if axis == 0

Если indices является матрицей (пакетной) с формой [batch, features], форма вывода будет:

batch x features x depth if axis == -1
batch x depth x features if axis == 1
depth x batch x features if axis == 0

Если indices является RaggedTensor, аргумент 'axis' должен быть положительным и ссылаться на неразрезанную ось. Вывод будет эквивалентен применению 'one_hot' к значениям RaggedTensor и созданию нового RaggedTensor из результата.

Если dtype не указан, он попытается принять тип данных on_value или off_value, если один или оба из них переданы. Если ни on_value, ни off_value, ни dtype не указаны, dtype по умолчанию будет равен tf.float32.

Примечание: Если требуется вывод с типом данных, отличным от числового (tf.string, tf.bool и т.д.), как on_value так и off_value обязательно должны быть переданы в one_hot.

Пример:

indices = [0, 1, 2]
depth = 3
tf.one_hot(indices, depth)  # output: [3 x 3]
# [[1., 0., 0.],
#  [0., 1., 0.],
#  [0., 0., 1.]]

indices = [0, 2, -1, 1]
depth = 3
tf.one_hot(indices, depth,
           on_value=5.0, off_value=0.0,
           axis=-1)  # output: [4 x 3]
# [[5.0, 0.0, 0.0],  # one_hot(0)
#  [0.0, 0.0, 5.0],  # one_hot(2)
#  [0.0, 0.0, 0.0],  # one_hot(-1)
#  [0.0, 5.0, 0.0]]  # one_hot(1)

indices = [[0, 2], [1, -1]]
depth = 3
tf.one_hot(indices, depth,
           on_value=1.0, off_value=0.0,
           axis=-1)  # output: [2 x 2 x 3]
# [[[1.0, 0.0, 0.0],   # one_hot(0)
#   [0.0, 0.0, 1.0]],  # one_hot(2)
#  [[0.0, 1.0, 0.0],   # one_hot(1)
#   [0.0, 0.0, 0.0]]]  # one_hot(-1)

indices = tf.ragged.constant([[0, 1], [2]])
depth = 3
tf.one_hot(indices, depth)  # output: [2 x None x 3]
# [[[1., 0., 0.],
#   [0., 1., 0.]],
#  [[0., 0., 1.]]]
Аргументы
indices Массив индексов.
depth Скаляр, определяющий глубину измерения one-hot.
on_value Скаляр, определяющий значение для заполнения вывода, когда indices[j] = i. (по умолчанию: 1)
off_value Скаляр, определяющий значение для заполнения вывода, когда indices[j] != i. (по умолчанию: 0)
axis Ось для заполнения (по умолчанию: -1, новая внутренняя ось).
dtype Тип данных выходного тензора.
name Имя операции (необязательно).
Возвращаемое значение
output Тензор one-hot.
Исключения
TypeError Если тип данных on_value или off_value не совпадает с dtype
TypeError Если тип данных on_value и off_value не совпадают друг с другом

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/one_hot

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API