Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tf.one_hot

TensorFlow 1 wersja Zobacz źródło na GitHub

Zwraca jeden hot-tensor.

Stosowany w notebookach

Używany w przewodniku Używany w samouczków

Zobacz także tf.fill , tf.eye .

Lokalizacje reprezentowane przez indeksy w indices wziąć wartość on_value , podczas gdy wszystkie inne lokalizacje wziąć wartość off_value .

on_value i off_value musi mieć typy danych dopasowywania. Jeśli dtype jest również, muszą być tego samego typu, jak określono przez dtype .

Jeśli on_value nie jest, to do wartości domyślnych 1 z typu dtype

Jeśli off_value nie jest, to będzie domyślnie wartość 0 z typu dtype

Jeśli wejście indices jest ranking N , wyjście będzie miał rangi N+1 . Nowa oś jest tworzona na wymiar axis (domyślnie: nowa oś jest dołączana na końcu).

Jeśli indices jest skalarne kształt wyjściowy będzie wektorem o długości depth

Jeśli indices jest wektorem o długości features , kształt wyjściowy będzie:

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

Jeśli indices jest macierzą (batch) w kształcie [batch, features] kształt wyjściowy będzie:

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

Jeśli indices to RaggedTensor, do „osi” Argument musi być dodatnia i odnoszą się do osi non-obdarty. Wyjście będzie równoznaczne z zastosowaniem „one_hot” na wartościach RaggedTensor i tworzenia nowego RaggedTensor od wyniku.

Jeśli dtype nie jest, będzie próbować zakładać typ danych on_value lub off_value , jeśli jeden lub oba są przekazywane. Jeśli żaden z on_value , off_value lub dtype są, dtype domyślnie wartości tf.float32 .

Na przykład:

 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 Tensor indeksów.
depth Skalarne określające głębokość jednego gorącego wymiaru.
on_value Skalarne określaniu wartości wypełnienia na wyjściu, gdy indices[j] = i . (Domyślnie: 1)
off_value Skalarne określające wartość wypełnić wyjścia kiedy indices[j] != i . (Domyślnie: 0)
axis Oś wypełnienie (standard: 1, nowe najbardziej wewnętrznych oś).
dtype Typ danych tensora wyjściowego.
name Nazwę operacji (opcjonalnie).

output One-hot tensor.

TypeError Jeśli dtype z obu on_value lub off_value nie pasują dtype
TypeError Jeśli dtype z on_value i off_value nie pasują do siebie nawzajem