(self, point: Point)
| 584 | ) |
| 585 | |
| 586 | def forward(self, point: Point): |
| 587 | shortcut = point.feat |
| 588 | point = self.cpe(point) |
| 589 | point.feat = shortcut + point.feat |
| 590 | shortcut = point.feat |
| 591 | if self.pre_norm: |
| 592 | point = self.norm1(point) |
| 593 | point = self.drop_path(self.attn(point)) |
| 594 | point.feat = shortcut + point.feat |
| 595 | if not self.pre_norm: |
| 596 | point = self.norm1(point) |
| 597 | |
| 598 | shortcut = point.feat |
| 599 | if self.pre_norm: |
| 600 | point = self.norm2(point) |
| 601 | point = self.drop_path(self.mlp(point)) |
| 602 | point.feat = shortcut + point.feat |
| 603 | if not self.pre_norm: |
| 604 | point = self.norm2(point) |
| 605 | point.sparse_conv_feat = point.sparse_conv_feat.replace_feature(point.feat) |
| 606 | return point |
| 607 | |
| 608 | |
| 609 | class SerializedPooling(PointModule): |
nothing calls this directly
no outgoing calls
no test coverage detected