topobench.nn.wrappers package#
Wrappers implemented for TopoBench with automated exports.
- class AbstractWrapper(backbone, **kwargs)#
-
Abstract class that provides an interface to handle the network output.
- Parameters:
- backbonetorch.nn.Module
Backbone model.
- **kwargsdict
Additional arguments for the class. It should contain the following keys: - out_channels (int): Number of output channels. - num_cell_dimensions (int): Number of cell dimensions.
- __init__(backbone, **kwargs)#
- abstract forward(batch)#
Forward pass for the model.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- residual_connection(model_out, batch)#
Residual connection for the model.
This method sums, for the embeddings of the cells of any rank, the output of the model with the input embeddings and applies layer normalization.
- Parameters:
- model_outdict
Dictionary containing the model output.
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class CANWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the CAN model.
This wrapper defines the forward pass of the model. The CAN model returns the embeddings of the cells of rank 1. The embeddings of the cells of rank 0 are computed as the sum of the embeddings of the cells of rank 1 connected to them.
- forward(batch)#
Forward pass for the CAN wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class CCCNWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the CCCN model.
This wrapper defines the forward pass of the model. The CCCN model returns the embeddings of the cells of rank 1. The embeddings of the cells of rank 0 are computed as the sum of the embeddings of the cells of rank 1 connected to them.
- forward(batch)#
Forward pass for the CCCN wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class CCXNWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the CCXN model.
This wrapper defines the forward pass of the model. The CCXN model returns the embeddings of the cells of rank 0, 1, and 2.
- forward(batch)#
Forward pass for the CCXN wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched domain data.
- Returns:
- dict
Dictionary containing the updated model output.
- class CWNWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the CWN model.
This wrapper defines the forward pass of the model. The CWN model returns the embeddings of the cells of rank 0, 1, and 2.
- forward(batch)#
Forward pass for the CWN wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched domain data.
- Returns:
- dict
Dictionary containing the updated model output.
- class GNNWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the GNN models.
This wrapper defines the forward pass of the model. The GNN models return the embeddings of the cells of rank 0.
- forward(batch)#
Forward pass for the GNN wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class GraphMLPWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the GNN models.
This wrapper defines the forward pass of the model. The GNN models return the embeddings of the cells of rank 0.
- forward(batch)#
Forward pass for the GNN wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class HypergraphWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the hypergraph models.
This wrapper defines the forward pass of the model. The hypergraph model return the embeddings of the cells of rank 0, and 1 (the hyperedges).
- forward(batch)#
Forward pass for the hypergraph wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class PointcloudWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for Pointcloud models.
This wrapper defines the forward pass of the model. The Pointcloud models return the embeddings of the cells of rank 0.
- forward(batch)#
Forward pass for the Pointcloud wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class SANWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the SAN model.
This wrapper defines the forward pass of the model. The SAN model returns the embeddings of the cells of rank 1. The embeddings of the cells of rank 0 are computed as the sum of the embeddings of the cells of rank 1 connected to them.
- forward(batch)#
Forward pass for the SAN wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class SCCNNWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the SCCNN model.
This wrapper defines the forward pass of the model. The SCCNN model returns the embeddings of the cells of rank 0, 1, and 2.
- forward(batch)#
Forward pass for the SCCNN wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class SCCNWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the SCCN model.
This wrapper defines the forward pass of the model. The SCCN model returns the embeddings of the cells of any rank.
- forward(batch)#
Forward pass for the SCCN wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- class SCNWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the SCNW model.
This wrapper defines the forward pass of the model. The SCNW model returns the embeddings of the cells of rank 0, 1, and 2.
- forward(batch)#
Forward pass for the SCNW wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
- normalize_matrix(matrix)#
Normalize the input matrix.
The normalization is performed using the diagonal matrix of the inverse square root of the sum of the absolute values of the rows.
- Parameters:
- matrixtorch.sparse.FloatTensor
Input matrix to be normalized.
- Returns:
- torch.sparse.FloatTensor
Normalized matrix.
- class TuneWrapper(backbone, **kwargs)#
Bases:
AbstractWrapperWrapper for the TopoTune model.
This wrapper defines the forward pass of the TopoTune model.
- forward(batch)#
Forward pass for the Tune wrapper.
- Parameters:
- batchtorch_geometric.data.Data
Batch object containing the batched data.
- Returns:
- dict
Dictionary containing the updated model output.
Subpackages#
- topobench.nn.wrappers.cell package
- topobench.nn.wrappers.combinatorial package
- topobench.nn.wrappers.graph package
- topobench.nn.wrappers.hypergraph package
- topobench.nn.wrappers.pointcloud package
- topobench.nn.wrappers.simplicial package