Esta página foi traduzida pela API Cloud Translation.
Switch to English

tf.sparse.SparseTensor

TensorFlow 1 versão Ver fonte no GitHub

Representa um tensor escasso.

Usado nos cadernos

Usado na guia Usado nos tutoriais

TensorFlow representa um tensor esparso como três tensores densas separadas: indices , values , e dense_shape . Em Python, os três tensores são coletados em um SparseTensor classe para facilidade de uso. Se você tiver separadas indices , values e dense_shape tensores, envolvê-los em uma SparseTensor objeto antes de passar para os ops abaixo.

Concretamente, o tensor esparso SparseTensor(indices, values, dense_shape) compreende os seguintes componentes, em que N e ndims são o número de valores e número de dimensões na SparseTensor , respectivamente:

  • indices : A 2-D int64 tensor de forma [N, ndims] , que especifica os índices dos elementos do tensor do escasso que contêm valores diferentes de zero (elementos são zero-indexado). Por exemplo, indices=[[1,3], [2,4]] especifica que os elementos com índices de [1,3], e [2,4] ter valores diferentes de zero.

  • values : Um tensor 1-D de qualquer tipo e forma [N] , que fornece os valores para cada elemento em indices . Por exemplo, dado indices=[[1,3], [2,4]] , os parâmetros de values=[18, 3.6] especifica que o elemento [1,3] do tensor esparso tem um valor de 18, e o elemento de [ 2,4] do tensor tem um valor de 3,6.

  • dense_shape : A 1-D int64 tensor de forma [ndims] , que especifica o dense_shape do tensor escasso. Toma uma lista que indica o número de elementos em cada dimensão. Por exemplo, dense_shape=[3,6] especifica um tensor 3x6 bidimensional, dense_shape=[2,3,4] especifica um 2x3x4 tensor tridimensional, e dense_shape=[9] especifica um tensor unidimensional com 9 elementos .

Os correspondentes satisfaz densa tensor:

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

Por convenção, indices devem ser classificados na ordem de linha principal (ou equivalentemente ordem lexicographic sobre os tuplos indices[i] ). Isto não é aplicada quando SparseTensor objetos são construídos, mas a maioria dos ops assumir ordenação correta. Se a ordenação de tensor escassa st é errado, uma versão fixa podem ser obtidas pelo telefone tf.sparse.reorder(st) .

Exemplo: O tensor esparso

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

representa o tensor densa

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

indices Um int64 tensor de 2-D de forma [N, ndims] .
values Um tensor de 1-D de qualquer tipo e forma [N] .
dense_shape Um int64 tensor 1-D de forma [ndims] .

ValueError Ao construir uma SparseTensor ansioso se dense_shape é desconhecida ou contém elementos desconhecidos (Nenhum ou -1).

dense_shape Um 1-D Tensor de int64 que representa a forma do tensor densa.
dtype O DType de elementos nesta tensor.
graph O Graph que contém os tensores índice, de valor, e dense_shape.
indices Os índices de valores diferentes de zero no tensor densa representado.
op A Operation que produz values como uma saída.
shape Obter o TensorShape representando a forma do tensor densa.
values Os valores diferentes de zero no representado tensor densa.

Métodos

consumers

Ver fonte

eval

Ver fonte

Avalia este tensor escassa em uma Session .

Chamar esse método irá executar todas as operações anteriores que produzem os insumos necessários para a operação que produz este tensor.

args
feed_dict Um dicionário que mapeia Tensor objetos com valores de alimentação. Veja tf.Session.run para obter uma descrição dos valores de feed válido.
session (Opcional). A Session a ser usada para avaliar este tensor escassa. Se nenhuma, será usada a sessão padrão.

Devoluções
Um SparseTensorValue objecto.

from_value

Ver fonte

get_shape

Ver fonte

Obter o TensorShape representando a forma do tensor densa.

Devoluções
Um TensorShape objecto.

__div__

Ver fonte

divide componente-wise um SparseTensor por uma densa Tensor.

Limitação: este Op única transmite o lado denso para o lado escassa, mas não na outra direção.

args
sp_indices Um Tensor de tipo int64 . 2-D. N x R matriz com os índices de valores não vazios em um SparseTensor, possivelmente não em ordenação canónica.
sp_values A Tensor . Deve ser um dos seguintes tipos: float32 , float64 , int32 , uint8 , int16 , int8 , complex64 , int64 , qint8 , quint8 , qint32 , bfloat16 , uint16 , complex128 , half , uint32 , uint64 . 1-D. N valores não vazios correspondente a sp_indices .
sp_shape Um Tensor de tipo int64 . 1-D. Forma do SparseTensor entrada.
dense A Tensor . Deve ter o mesmo tipo que sp_values . R -D. A densa Tensor operando.
name Um nome para a operação (opcional).

Devoluções
Um Tensor . Tem o mesmo tipo como sp_values .

__mul__

Ver fonte

multiplica componente-sábio um SparseTensor por uma densa Tensor.

Os locais de saída correspondentes aos implicitamente de zero elementos do tensor escassa será zero (ou seja, não vai ocupar espaço de armazenamento), independentemente do conteúdo do tensor densa (mesmo que de +/- INF e que INF * 0 == NaN).

Limitação: este Op única transmite o lado denso para o lado escassa, mas não na outra direção.

args
sp_indices Um Tensor de tipo int64 . 2-D. N x R matriz com os índices de valores não vazios em um SparseTensor, possivelmente não em ordenação canónica.
sp_values A Tensor . Deve ser um dos seguintes tipos: float32 , float64 , int32 , uint8 , int16 , int8 , complex64 , int64 , qint8 , quint8 , qint32 , bfloat16 , uint16 , complex128 , half , uint32 , uint64 . 1-D. N valores não vazios correspondente a sp_indices .
sp_shape Um Tensor de tipo int64 . 1-D. Forma do SparseTensor entrada.
dense A Tensor . Deve ter o mesmo tipo que sp_values . R -D. A densa Tensor operando.
name Um nome para a operação (opcional).

Devoluções
A Tensor . Tem o mesmo tipo como sp_values .

__truediv__

Ver fonte

função auxiliar interno para 'sp_t / dense_t'.