SnifferCaptain
SnifferCaptain
use onnxsim i suppose 
没问题的,卷积原本是滑动窗口,但是现在它不滑动了,每个核都是由输入x在当前那个点对应的大dw卷积算出来的。也就是说,大核在滑动窗口,每滑动一格就在对应坐标生成一个对应的卷积核。 b是batch就不说了,h、w两个维度分别表示大核在xy位置卷积的结果w,即小核的权重。
> 我也发现 作者代码的这个问题了, 我是觉得作者的代码写错了, 举个例子比如 C是256,G是32,那么每组就是32,每组对应的kernel是 32_3_3,作者论文的思想是通过LKP为SKP生成input的不同位置的卷积核权重,H_W个位置,一共有 G_K_K的权重,结合图3(a),我的理解是, 在SKP过程中,得到像素坐标[c,h,w],可以知道其在哪个组里,然后每组的的kernel 32_3_3 其实就是 32个3_3,这32个3_3 其实是共享的,也就是说,是 一个3_3, 这是我的理解, 我本来想用这篇论文的算法改进我的骨干网络,详细看了这篇论文和代码,发现这个明显的矛盾。希望可以得到作者的官方回答 评价是得看你的数据集规模。这个lsconv其实给我的感觉是类似原地的注意力机制,它会更倾向于学习大视野-小视野之间的关系,而不是像传统cnn那样直接特征匹配。反正在我这里的10w图像(120w目标)的目标检测数据集上他打不过纯cnn,在另一个1w大小的简单数据集上map也是打不过我自己写的纯cnn网络,map50-95大概是72掉到69这个水平,框架是yolo8。你斟酌下要不要缝。 另外它使用的这个库我记得好像不是很方便导出,可以拿einsum大概写下