Sparse Tensor
Databricks 無料トライアル
Python には、多次元配列を操作する NumPy と呼ばれるビルトインライブラリがあります。PyTensor ライブラリを開発するには、NumPy を使用することが第一の要件となります。Sptensor は、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]と同様で、指定された次元のサイズを返します