メインコンテンツへジャンプ

Sparse Tensor

Databricks 無料トライアル

Python には、多次元配列を操作する NumPy と呼ばれるビルトインライブラリがあります。PyTensor ライブラリを開発するには、NumPy を使用することが第一の要件となります。Sparse TensorSptensor は、Sparse Tensor を表すクラスです。Sparse Tensor とは、エントリの大部分がゼロであるデータセットです。例としては、大規模な対角行列(多くがゼロ要素)が挙げられます。Tensor オブジェクトの値全体を保存するのではなく、非ゼロ値とそれに対応する座標を保存します。Sparse Tensor のストレージ形式では、非ゼロ値のみを保存することが可能なため、保存要件を減らし、ゼロ値を含む不要なサイレント計算を排除することができます。主な属性は、次のとおりです。

  • vals (numpy.ndarray):Sparse Tensorの非ゼロ値の1次元配列
  • subs (numpy.ndarray):valsにある値の座標の2次元配列
  • shape(tuple):Sparse Tensorの形状

  

  • func(binary operator):この関数は、Sparse Tensorをアキュムレータとして構築するために使用されます。

主な関数は次のとおりです。

  • __init__(self, subs, vals, shape = None, func=sum.__call__):Sptensorクラスのコンストラクタで、subs とval s (numpy.ndarray)または(list)がSptensorの座標と値です
  • tondarray(self):Sptensorと同じ値のnumpy. ndarrayオブジェクトを返します
  • permute(self, order):この関数を適用すると、与えられた順序(リスト)で置換されたSptensorオブジェクトを返します
  • ipermute(self, order):与えられた順序(リスト)の逆数により置換されたSptensorオブジェクトを返します
  • copy(self):Sptensorのコピーされたオブジェクトを返します
  • totensor(self):Sptensorと同じ値の Tensorオブジェクトを返します
  • nnz(self):Sptensorの非ゼロ要素を返します
  • ndims(self):Tensorの次元数を返します
  • dimsize(self,ind):
  • shape[ind]と同様で、指定された次元のサイズを返します

関連資料

用語集に戻る