Ir para o conteúdo principal

O que é um Tensor Esparso?

Um tensor com uso eficiente de memória que armazena apenas valores diferentes de zero, juntamente com seus índices e formato, otimizando o armazenamento e o processamento para conjuntos de dados esparsos.

10 Personas Data Science

Summary

  • Codifica tensores usando três componentes: um array de índices para posições diferentes de zero, um array de valores para os dados reais e um dense_shape que define as dimensões totais.
  • Reduz drasticamente o consumo de memória para dados como embeddings de texto, matrizes de interação usuário-item e nuvens de pontos 3D onde a esparsidade excede 90%.
  • Suporta operações especializadas como multiplicação de matrizes esparsas e convoluções esparsas, embora algumas operações possam densificar os dados, causando picos de memória se não forem gerenciadas com cuidado.

O Python oferece uma biblioteca integrada chamada Numpy para manipular matrizes multidimensionais. A organização e o uso dessa biblioteca é um requisito primário para o desenvolvimento da biblioteca pytensor. Tensor esparso Sptensor é uma classe que representa o tensor esparso. Tensor esparso é um dataset no qual a maioria das entradas são zero. Um exemplo seria uma grande matriz diagonal (que tem muitos elementos zero). Ele não armazena os valores inteiros do objeto tensor, mas armazena os valores diferentes de zero e as coordenadas correspondentes deles. Os formatos de armazenamento do tensor de análise permitem armazenar somente valores diferentes de zero, reduzindo os requisitos de armazenamento e eliminando cálculos silenciosos desnecessários que envolvem valores zero. Os principais atributos são:

  • vals (numpy.ndarray) Uma matriz unidimensional de valores diferentes de zero do tensor esparso.
  • subs (numpy.ndarray) Uma matriz bidimensional de coordenadas dos valores em vals.
  • shape(tuple)
UM LÍDER 5X

Gartner®: Databricks, líder em banco de dados em nuvem

A forma do tensor esparso.

  • func(binary operator) Esta função é usada para construir o tensor esparso como um acumulador.

Além disso, suas principais funções são:

  • __init__(self, subs, vals, shape = None, func=sum.__call__) Construtor para a classe sptensor. subs e vals (numpy.ndarray) ou (lista) são coordenadas e valores do sptensor.
  • tondarray(self) Esta função retorna um objeto numpy. ndarray que tem os mesmos valores do sptensor.
  • permute(self, order) Ao aplicar esta função, ela retornará o objeto sptensor permutado pela ordem fornecida (list).
  • ipermute(self, order) Retorna o objeto sptensor permutado pelo inverso da ordem fornecida (list).
  • copy(self) Retorna o objeto sptensor copiado do sptensor.
  • totensor(self) Retorna o objeto tensor que tem os mesmos valores do sptensor.
  • nnz(self) Retorna o número de elementos diferentes de zero no sptensor.
  • ndims(self) Retorna o número de dimensões do tensor.
  • dimsize(self, ind)
  • Retorna o tamanho da dimensão especificada. Igual à shape[ind].

Recursos adicionais

Nunca perca uma postagem da Databricks

Inscreva-se nas categorias de seu interesse e receba as últimas postagens na sua caixa de entrada