keyu-tian / SparK

[ICLR'23 Spotlight🔥] The first successful BERT/MAE-style pretraining on any convolutional network; Pytorch impl. of "Designing BERT for Convolutional Networks: Sparse and Hierarchical Masked Modeling"
https://arxiv.org/abs/2301.03580
MIT License
1.46k stars 84 forks source link

稀疏卷积问题 #49

Closed MENG1996 closed 1 year ago

MENG1996 commented 1 year ago

您好,看代码后发现sp_conv_forward的 returning_active_ex=True,也就是说在卷积部分没有进行稀疏计算,而是在batchnorm和layernorm上进行稀疏计算吗? 感谢您的工作!

keyu-tian commented 1 year ago

是的,也可以说都没有使用真的稀疏卷积,都是使用的pytorch操作模拟稀疏卷积的定义,计算结果和稀疏卷积一致,但是计算过程没有真正的稀疏性(无法通过稀疏性省显存)

具体的,return 的 active_ex 是二进制的mask map,取1的地方是active的地方也就是非稀疏的地方,这个mask map会和卷积结果乘在一起