【问题标题】:Reload weights into fc layer after converting to csr_matrix转换为 csr_matrix 后将权重重新加载到 fc 层
【发布时间】:2017-08-15 04:23:36
【问题描述】:

我正在尝试以压缩的稀疏行格式将权重存储在 fc 层中。当我检索权重并将它们转换为 CSR 矩阵格式时,它在内存中的大小会大大减少,但是当我将它加载回 caffe 时,我的模型大小保持不变。基本上这就是我正在做的事情:

temp2 = net.params['ip1'][0].data.shape
sparse_csr1 = sparse.scr_matrix(temp2, shape)
net.params['ip1'][0].data[...] = sparse_csr1
net.save('compressed.caffemodel')

任何建议将不胜感激。

【问题讨论】:

  • 相关caffe github issue.

标签: deep-learning caffe pycaffe


【解决方案1】:

Caffe 不支持稀疏矩阵,因此您无法从权重的稀疏压缩中受益。

【讨论】:

  • 我一直在尝试实现本文Deep Compression 中的步骤,作者表示他们在剪枝后以 csr 格式存储权重。我想知道这是怎么做到的,因为他们使用了 caffe
  • 它们可能会覆盖 caffe 的保存和加载方法。
【解决方案2】:

看起来这些 repos 对内积层和转换层都是这样做的:

【讨论】:

    猜你喜欢
    • 2019-03-16
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 2017-10-24
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    相关资源
    最近更新 更多