Spec-Zone.ru › TensorFlow 2.3

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 A Tensor индексов.
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 не совпадают

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

Spec-Zone.ru

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