Direkt zum Hauptinhalt

Was ist ein Sparse Tensor?

Ein speichereffizienter Tensor, der nur von Null verschiedene Werte mit ihren Indizes und ihrer Form speichert und so Speicherung und Berechnung für spärliche Datensätze optimiert.

10 Personas Data Science

Summary

  • Kodiert Tensoren mithilfe von drei Komponenten: einem Index-Array für Positionen ungleich Null, einem Werte-Array für die eigentlichen Daten und der Definition der Gesamtdimensionen durch dense_shape.
  • Reduziert den Speicherbedarf für Daten wie Text-Embeddings, Benutzer-Element-Interaktionsmatrizen und 3D-Punktwolken mit einer Sparsity von über 90 % drastisch.
  • Unterstützt spezielle Operationen wie die Multiplikation dünnbesetzter Matrizen und Faltungen dünnbesetzter Matrizen. Einige Operationen können jedoch die Daten verdichten und dadurch zu Speicherspitzen führen, wenn sie nicht sorgfältig verwaltet werden.

Python bietet eine integrierte Bibliothek namens Numpy zur Bearbeitung mehrdimensionaler Arrays. Die Organisation und Nutzung dieser Bibliothek ist eine Hauptvoraussetzung für die Entwicklung der pytensor-Bibliothek. Sparse Tensor Sptensor ist eine Klasse, die den Sparse Tensor darstellt. Ein Sparse Tensor ist ein Dataset, in dem die meisten Einträge null sind. Ein solches Beispiel wäre eine große Diagonalmatrix (mit vielen Null-Elementen). Sie speichert nicht die gesamten Werte des Tensorobjekts, sondern die Werte ungleich null und deren entsprechende Koordinaten. Sparse-Tensor-Speicherformate ermöglichen es uns, nur Werte ungleich Null zu speichern, wodurch der Speicherbedarf reduziert und unnötige stille Berechnungen mit Nullwerten vermieden werden. Hier sind ihre Hauptattribute:

  • vals (numpy.ndarray) Ein eindimensionales Array von Nicht-Null-Werten des Sparse Tensor.
  • subs (numpy.ndarray) Ein zweidimensionales Array von Koordinaten der Werte in vals.
  • shape(tuple)
5-FACHER LEADER

Gartner®: Databricks als Leader für Cloud-Datenbanken

Die Form des Sparse Tensors.

  • func(binary operator) Diese Funktion wird verwendet, um den Sparse Tensor als Akkumulator zu konstruieren.

Darüber hinaus sind ihre Hauptfunktionen:

  • __init__(self, subs, vals, shape = None, func=sum.__call__) Konstruktor für die Sptensor-Klasse. subs und vals (numpy.ndarray) oder (list) sind Koordinaten und Werte des Sptensors.
  • tondarray(self) Diese Funktion gibt ein numpy.ndarray-Objekt zurück, das die gleichen Werte wie der Sptensor hat.
  • permute(self, order) Wenn Sie diese Funktion anwenden, erhalten Sie das Sptensor-Objekt, das durch die angegebene Reihenfolge (list) permutiert ist.
  • ipermute(self, order) Gibt das Sptensor-Objekt zurück, das durch die Umkehrung der angegebenen Reihenfolge (list) permutiert ist.
  • copy(self) Gibt das kopierte Sptensor-Objekt des Sptensors zurück.
  • totensor(self) Gibt das Tensor-Objekt zurück, das dieselben Werte wie der Sptensor hat.
  • nnz(self) Gibt die Anzahl der Nicht-Null-Elemente im Sptensor zurück.
  • ndims(self) Gibt die Anzahl der Dimensionen des Tensors zurück.
  • dimsize(self, ind)
  • Gibt die Größe der angegebenen Dimension zurück. Identisch mit shape[ind].

Zusätzliche Ressourcen

Verpassen Sie keinen Beitrag von Databricks

Abonnieren Sie unseren Blog und erhalten Sie die neuesten Beiträge direkt in Ihren Posteingang.