woodfrog / maptracker

Code for paper "MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping", ECCV 2024 (Oral)
https://map-tracker.github.io/
Other
144 stars 10 forks source link

一个关于cross-attn的小问题 #5

Closed hungsing92 closed 4 months ago

hungsing92 commented 4 months ago

image

请问这里的query_bev是不是有点小问题,operation_order是('self_attn', 'norm', 'cross_attn', 'norm', 'cross_attn', 'norm', 'ffn', 'norm'),这个query_bev没有过norm,相当于两个cross_attn中的norm是多余的?

woodfrog commented 4 months ago

norm是在这里做的。相关paper里的各种transformer layer变种基本都是按mmcv里的BaseTransformerLayer改的

hungsing92 commented 4 months ago

@woodfrog 嗯嗯,我的意思是norm处理的是query这个tensor,query_bev应该没有被norm处理。所以第一个cross-attn后的norm是多余的

woodfrog commented 4 months ago

嗯嗯,我的意思是norm处理的是query这个tensor,query_bev应该没有被norm处理。所以第一个cross-attn后的norm是多余的

哦哦懂你意思了。是的你是对的,这里相当于第一个cross-attn后的norm实际没有用到。如果没有memory bank,就是BEV cross attention后过norm(用到的是第二个cross attention后的norm);如果有memory bank,是BEV cross attention后的query + memory fusion cross attention后的query,然后再norm。这里确实写的不太标准,像是把BEV cross attention和memory fusion绑定了,严谨一点的话每个layer都应该update query。不过应该对效果影响不大。