Skip to content

xconv

PointCNN XConv layer: convolution on X-transformed point neighborhoods.

Classes:

  • XConv –

    XConv layer as described in the paper

XConv

XConv(
    in_channels: int,
    out_channels: int,
    spatial_dim: int,
    kernel_size: int,
    hidden_channels: Optional[int] = None,
    depth_multiplier: Optional[int] = None,
    dilation: int = 1,
    act: Union[str, Callable, None] = "elu",
    act_kwargs: Optional[Dict[str, Any]] = None,
    norm: Union[str, Callable, None] = "batch_norm",
    norm_kwargs: Optional[Dict[str, Any]] = None,
    bias: bool = True,
)

Bases: Module

XConv layer as described in the paper "PointCNN: Convolution On X-Transformed Points" by Yangyan Li, Rui Bu, Mingchao Sun, Wei Wu, Xinhan Di, Baoquan Chen.

This layer is inspired by the PyTorch Geometric torch_geometric.nn.XConv layer implementation, excepts that this convolution layer supports bipartite graphs and more flexibility / customization. This implementation provides full compatibility with the PyTorch Geometric library while following the official paper and original tensorflow implementation.

Methods:

  • init_weights_ –

    Applies Xavier normal initialization to nn.Linear and nn.Conv1d modules, zeroing their bias.

init_weights_ staticmethod

init_weights_(module: Module) -> None

Applies Xavier normal initialization to nn.Linear and nn.Conv1d modules, zeroing their bias.