theano支持两种稀疏矩阵:csc,csr,分别是按照列和行对数据进行存储的。每个稀疏矩阵都有data,indices,indptr和shape四个属性。
data属性:一维ndarray,包含所有非零元素
indices和indptr属性是用来存储稀疏矩阵中数据所在的位置
shape属性与密集矩阵的shape属性是一致的,如果稀疏矩阵的形状不能从前三个属性推断出来的话,需要在创建的时候就说明形状属性
对于csc以及csr两种形式的选择
如果矩阵的列数较大,即行数较少,用csr格式
data属性:一维ndarray,包含所有非零元素
indices和indptr属性是用来存储稀疏矩阵中数据所在的位置
shape属性与密集矩阵的shape属性是一致的,如果稀疏矩阵的形状不能从前三个属性推断出来的话,需要在创建的时候就说明形状属性
对于csc以及csr两种形式的选择
如果矩阵的列数较大,即行数较少,用csr格式
如果矩阵的行数较大,即列数较少,用csc格式
不能对稀疏矩阵使用广播,因为sparse包和SciPy的稀疏模型一样,不能处理相异维数大于2的两个矩阵。
sparse支持的数据类型
sparse.all_dtypes
set(['int8', 'int16', 'int32', 'int64', 'uint8', 'uint16', 'uint32', 'uint64',
'float32', 'float64', 'complex64', 'complex128'])