digeo.nn.AGC#

class digeo.nn.AGC(in_filters, out_filters, n_patches, rho_init=0.1, n_rho=2, n_theta=8, learn_rho=True)[source]#

Bases: Module

Adaptive Geodesic Convolutional Layer. Takes as input a mesh and per-vertex features of shape (V, C). Where C=in_filters * n_patches, and produces output features of shape (V, C’) where C’=out_filters * n_patches.

For a detailed description of the module, see Adaptive Geodesic Convolution (AGC) in the user guide.

Parameters:
  • in_filters (int) – Number of input filters per patch.

  • out_filters (int) – Number of output filters per patch.

  • n_patches (int) – Number of patches to trace per vertex.

  • rho_init (float) – Initial radius of the largest geodesic patch.

  • n_rho (int) – Number of rings in the geodesic patch.

  • n_theta (int) – Number of angular divisions in the geodesic patch.

  • learn_rho (bool) – Whether to make the patch radii learnable.

forward(mesh, X)[source]#

Forward pass of the AGC layer.

Parameters:
  • mesh (Mesh) – The mesh object containing vertices and faces.

  • X (Tensor) – Input features of shape (V, C)

Returns:

Tensor

Return type:

Output features of shape (V, C’)