CSR存储原理

最近老师让看一看模型剪枝方面的知识,偶然从某一篇论文上看到了CSR和CSC格式存储的原理,因此想纪录一下,本文主要分析了一下CSR格式存储稀疏矩阵的原理,CSC格式与其类似,只是一个针对行,一个针对列。

原理图

首先上图,观察图基本就可以了解其存储的形式了,CSR主要通过数值,非零元素列下标,行偏移量来进行存储,能将一个m*n的矩阵的存储数量减小至2a+m+1(CSR)和2a+n+1(CSC)。a是非零元素的个数。
CSR或者CSC格式存储稀疏矩阵原理
如上图,矩阵 A共有9个非零元素,各非零元素依次存储,同时纪录下每个非零元素的列下标(上图下标以0开始计数),行偏移量则包含两个部分,前m个元素表示每一行第一个非零元素在数值中的索引,如A矩阵行偏移量前4个元素为0,2,4,7,数值中的0索引是1,2索引是2,4索引是5……依次类推。行偏移量的最后一部分则是矩阵非零元素的个数(在一些下标以1开始计数时,最后一项的数值是非零元素+1)。CSC的原理与CSR类似,所不同的就是按照列进行存储的。

参考文献

文章是个人对CSR格式存储原理的理解,如有什么不对的地方,望各位大佬指正,文章图片来源于下面这篇论文:
基于剪枝的卷积神经网络压缩方法研究(靳丽蕾)

相关文章:

  • 2022-01-03
  • 2021-05-21
  • 2022-01-03
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-07-22
  • 2021-04-05
  • 2021-07-26
  • 2022-12-23
  • 2021-05-25
  • 2021-07-24
相关资源
相似解决方案