Python提供了一个称为numpy的内置库来操作多维数组。这个库的组织和使用是开发pytensor库的主要需求。Sptensor是一个表示稀疏张量的类。稀疏张量是一个大部分元素为零的数据集,一个这样的例子是一个大对角矩阵。(它有很多零元素)。它不存储张量对象的全部值,而是存储非零值及其对应的坐标。稀疏张量存储格式允许我们只存储非零值,从而减少了存储需求,并消除了涉及零值的不必要的无声计算。以下是它的主要属性:
- 稀疏张量的非零值的1维数组。
- subs (numpy.ndarray) val值坐标的二维数组。
- 形状(元组)
稀疏张量的形状。
- func(二进制运算符)这个函数用来构造稀疏张量作为累加器。
除此之外,它的主要功能是:
- __init__(self, subs, vals,shape = None, func=sum.__call__)sptensor类的构造函数。sub和val (numpy.ndarray)或(list)是sp张量的坐标和值。
- tondarray(自我)这个函数返回一个numpy。与sptensor值相同的Ndarray对象。
- 交换(自我,顺序)通过应用这个函数,它将返回按给定顺序(列表)进行排序的sptensor对象。
- ipermute(自我,顺序)返回sp张量对象,该对象按给定顺序(列表)的倒数进行排列。
- 复制(自我)返回sp张量的复制sp张量对象。
- totensor(自我)返回与sptensor值相同的张量对象。
- nnz(自我)返回sp张量中非零元素的个数。
- ndims(自我)返回张量的维数。
- dimsize(自我,印第安纳州)
- 返回指定维度的大小。与shape[ind]相同。