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

tf.sparse.SparseTensor

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

Reprezentuje rzadki tensor.

Stosowany w notebookach

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

TensorFlow stanowi rzadki tensor jako trzy oddzielne tensorów gęstych: indices , values i dense_shape . W Pythonie, trzy tensory są zbierane w SparseTensor klasy dla łatwości użytkowania. Jeśli masz oddzielne indices , values i dense_shape tensorów, zawinąć je w SparseTensor obiektu przed przekazaniem do OPS poniżej.

Konkretnie, rzadki napinacz SparseTensor(indices, values, dense_shape) składa się z następujących składników, gdzie N i ndims oznacza liczbę wartości, a liczba wymiarów w SparseTensor odpowiednio:

  • indices : A 2 D Int64 tensor kształcie [N, ndims] , która określa indeksów elementów w nielicznych tensora zawierających wartości niezerowych (elementy są indeksowane zero). Na przykład, indices=[[1,3], [2,4]] Określa czemu elementy o indeksach [1,3] lub [2,4], mają wartości niezerowych.

  • values : a 1-D tensor dowolnego typu i kształtu [N] , który dostarcza wartości dla każdego elementu indices . Na przykład, biorąc pod uwagę indices=[[1,3], [2,4]] parametr values=[18, 3.6] określa, że elementem [1,3] w nielicznych tensora ma wartość 18, a elementem [ 2,4] tensora ma wartość 3,6.

  • dense_shape : a 1-D Int64 tensor kształcie [ndims] , która określa dense_shape z rzadkim tensora. Pobiera listę wskazującą liczbę elementów w każdym wymiarze. Na przykład, dense_shape=[3,6] określa dwuwymiarowy tensor 3x6, dense_shape=[2,3,4] Określa trójwymiarowy 2x3x4 tensor i dense_shape=[9] Określa jednowymiarowy napinacz z elementów 9 ,

Odpowiednie spełnia gęsty tensor:

 dense.shape = dense_shape
dense[tuple(indices[i])] = values[i]
 

Umownie, indices powinny być sortowane w kolejności rzędu major (lub równoważnie leksykograficznej kolejności na krotki indices[i] ). To nie jest egzekwowane, gdy SparseTensor są zbudowane obiekty, ale większość ops zakładać prawidłową kolejność. Jeśli kolejność rzadki tensora st jest źle, to wersja stałe można uzyskać dzwoniąc tf.sparse.reorder(st) .

Przykład: rzadki napinacz

 SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4])
 

oznacza tensor gęsty

 [[1, 0, 0, 0]
 [0, 0, 2, 0]
 [0, 0, 0, 0]]
 

indices A2-D Int64 tensor kształcie [N, ndims] .
values 1-wymiarowym tensor dowolnego typu i kształtu [N] .
dense_shape 1-wymiarowym Int64 tensor kształcie [ndims] .

ValueError Przy budowie chętny SparseTensor jeśli dense_shape jest znane lub nieznane zawiera elementy (brak lub 1).

dense_shape 1-wymiarowym Tensor Int64 reprezentujące kształt gęstej tensora.
dtype DType elementów w tej tensora.
graph Graph , który zawiera tensory wskaźnik, wartość, a dense_shape.
indices Wskaźniki niezerowej wartości w przedstawionym gęstej tensora.
op Operation , która wytwarza values jako wyjście.
shape Pobierz TensorShape reprezentujący kształt gęstej tensora.
values Niezerowa wartość w przedstawionym gęstą tensor.

metody

consumers

Pokaż źródło

eval

Pokaż źródło

Ocenia ten rzadki tensor w Session .

Wywołanie tej metody będzie wykonywać wszystkie operacje poprzedzające, które produkują wejść potrzebne do operacji, która produkuje ten tensor.

args
feed_dict Słownik, który odwzorowuje Tensor obiektów do wartości paszowych. Zobacz tf.Session.run dla opisu obowiązującymi wartościami paszowych.
session (Opcjonalna). Session być wykorzystane do oceny tego rzadki tensor. Jeśli żaden, użyty zostanie domyślny sesji.

Zwroty
SparseTensorValue przedmiot.

from_value

Pokaż źródło

get_shape

Pokaż źródło

Pobierz TensorShape reprezentujący kształt gęstej tensora.

Zwroty
TensorShape przedmiot.

__div__

Pokaż źródło

Komponent mądry dzieli SparseTensor gęstą Tensor.

Ograniczenie: to Op emituje tylko gęstą boku do boku rzadkie, ale nie inny kierunek.

args
sp_indices Tensor typu int64 . 2-D. N x R matrycę z indeksów niepusty wartości w SparseTensor, ewentualnie nie w kanonicznym zamawiania.
sp_values Tensor . Musi to być jeden z następujących typów: float32 , float64 , int32 , uint8 , int16 , int8 , complex64 , int64 , qint8 , quint8 , qint32 , bfloat16 , uint16 , complex128 , half , uint32 , uint64 . 1-D. N niepustymi wartości odpowiadające sp_indices .
sp_shape Tensor typu int64 . 1-D. Kształt SparseTensor wejściowego.
dense Tensor . Muszą mieć ten sam typ jak sp_values . R -D. Gęsta Tensor argumentu.
name Nazwę operacji (opcjonalnie).

Zwroty
Tensor . Ma taki sam typ jak sp_values .

__mul__

Pokaż źródło

Komponent mądry mnoży SparseTensor gęstą Tensor.

Lokalizacje wyjściowe odpowiadające niejawnie zerowy elementów w nielicznych tensora będzie zero (czyli nie zajmie miejsca), niezależnie od zawartości gęstej tensora (nawet jeśli jest to +/- INF i tym inf * 0 == NaN).

Ograniczenie: to Op emituje tylko gęstą boku do boku rzadkie, ale nie inny kierunek.

args
sp_indices Tensor typu int64 . 2-D. N x R matrycę z indeksów niepusty wartości w SparseTensor, ewentualnie nie w kanonicznym zamawiania.
sp_values Tensor . Musi to być jeden z następujących typów: float32 , float64 , int32 , uint8 , int16 , int8 , complex64 , int64 , qint8 , quint8 , qint32 , bfloat16 , uint16 , complex128 , half , uint32 , uint64 . 1-D. N niepustymi wartości odpowiadające sp_indices .
sp_shape Tensor typu int64 . 1-D. Kształt SparseTensor wejściowego.
dense Tensor . Muszą mieć ten sam typ jak sp_values . R -D. Gęsta Tensor argumentu.
name Nazwę operacji (opcjonalnie).

Zwroty
Tensor . Ma taki sam typ jak sp_values .

__truediv__

Pokaż źródło

Wewnętrzna funkcja pomocnika do „sp_t / dense_t”.