Maxpooling not performed within each stage?
thatgeeman opened this issue · 1 comments
thatgeeman commented
Hello,
Congrats on this cool work! My doubt is about why the maxpool operation takes place outside of the for loop in the forward pass of the model defined in the referenced line here:
pointMLP-pytorch/classification_ModelNet40/models/pointmlp.py
Lines 336 to 342 in 3e3d80c
Specifically, it seems that the aggregation doesnt take place,
I would have expected to do this instead according to how its defined in the paper
def forward(self, ...):
.
.
for i in range(self.stages):
xyz, x = self.local_grouper_list[i](xyz, x.permute(0, 2, 1))
x = self.pre_blocks_list[i](x)
x = F.adaptive_max_pool1d(x, 1).squeeze(dim=-1) # pooling inside the loop after pre block
x = self.pos_blocks_list[i](x)
.
.
Thanks for clarifying this.
thatgeeman commented
Ah, just saw that its done within the Pre block:
Thanks!