MCPcopy Create free account
hub / github.com/Pointcept/PointTransformerV3 / PointTransformerV3

Class PointTransformerV3

model.py:786–982  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

784
785
786class PointTransformerV3(PointModule):
787 def __init__(
788 self,
789 in_channels=6,
790 order=("z", "z-trans", "hilbert", "hilbert-trans"),
791 stride=(2, 2, 2, 2),
792 enc_depths=(2, 2, 2, 6, 2),
793 enc_channels=(32, 64, 128, 256, 512),
794 enc_num_head=(2, 4, 8, 16, 32),
795 enc_patch_size=(1024, 1024, 1024, 1024, 1024),
796 dec_depths=(2, 2, 2, 2),
797 dec_channels=(64, 64, 128, 256),
798 dec_num_head=(4, 4, 8, 16),
799 dec_patch_size=(1024, 1024, 1024, 1024),
800 mlp_ratio=4,
801 qkv_bias=True,
802 qk_scale=None,
803 attn_drop=0.0,
804 proj_drop=0.0,
805 drop_path=0.3,
806 pre_norm=True,
807 shuffle_orders=True,
808 enable_rpe=False,
809 enable_flash=True,
810 upcast_attention=False,
811 upcast_softmax=False,
812 cls_mode=False,
813 pdnorm_bn=False,
814 pdnorm_ln=False,
815 pdnorm_decouple=True,
816 pdnorm_adaptive=False,
817 pdnorm_affine=True,
818 pdnorm_conditions=("ScanNet", "S3DIS", "Structured3D"),
819 ):
820 super().__init__()
821 self.num_stages = len(enc_depths)
822 self.order = [order] if isinstance(order, str) else order
823 self.cls_mode = cls_mode
824 self.shuffle_orders = shuffle_orders
825
826 assert self.num_stages == len(stride) + 1
827 assert self.num_stages == len(enc_depths)
828 assert self.num_stages == len(enc_channels)
829 assert self.num_stages == len(enc_num_head)
830 assert self.num_stages == len(enc_patch_size)
831 assert self.cls_mode or self.num_stages == len(dec_depths) + 1
832 assert self.cls_mode or self.num_stages == len(dec_channels) + 1
833 assert self.cls_mode or self.num_stages == len(dec_num_head) + 1
834 assert self.cls_mode or self.num_stages == len(dec_patch_size) + 1
835
836 # norm layers
837 if pdnorm_bn:
838 bn_layer = partial(
839 PDNorm,
840 norm_layer=partial(
841 nn.BatchNorm1d, eps=1e-3, momentum=0.01, affine=pdnorm_affine
842 ),
843 conditions=pdnorm_conditions,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected