对于经过ReLU之后的网络,通常存在很多的0。这时如果用稀疏矩阵来表示,则会节省存储空间,或者带来计算上的便利。稀疏矩阵如下图所示。
COO的中由数据矩阵,行矩阵,列矩阵组成。数据矩阵为原矩阵中的非零数值。而行、列矩阵分别对应其所在的行列。
CSR中有数据矩阵,行指针矩阵,列矩阵组成。其中,数据矩阵和列矩阵与COO中的一样。设共有m行,则行矩阵有m+1个元素。行矩阵中前m个元素为每一行的第一个非零数在数据矩阵中的角标。如第一行的第一个非零元素为1,在数据矩阵中为第0个元素;第二行的第一个非零元素为2,在数据矩阵中为第2个元素;第三行的第一个非零元素为5,在数据矩阵中为第4个元素;第四行的第一个非零元素为9,在数据矩阵中为第7个元素。在行指针矩阵中,最后一个元素的值统一为整个矩阵中非零元素的总值,及为m。
CSC与CSR相似,CSR中的行指针变为列指针,方法与 CSR相同。