Wrappers#

Abstract class that provides an interface to handle the network output.

class topobenchmarkx.nn.wrappers.base.AbstractWrapper(backbone, **kwargs)[source]#

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.

abstract forward(batch)[source]#

Forward pass for the model.

Parameters:
batchtorch_geometric.data.Data

Batch object containing the batched data.

residual_connection(model_out, batch)[source]#

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.

CAN wrapper module.

class topobenchmarkx.nn.wrappers.cell.can_wrapper.CANWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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.

Wrapper for the CCCN model.

class topobenchmarkx.nn.wrappers.cell.cccn_wrapper.CCCNWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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.

Wrapper for the CCXN model.

class topobenchmarkx.nn.wrappers.cell.ccxn_wrapper.CCXNWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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.

Wrapper for the CWN model.

class topobenchmarkx.nn.wrappers.cell.cwn_wrapper.CWNWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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.

Wrapper for the GNN models.

class topobenchmarkx.nn.wrappers.graph.gnn_wrapper.GNNWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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.

Wrapper for the hypergraph models.

class topobenchmarkx.nn.wrappers.hypergraph.hypergraph_wrapper.HypergraphWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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.

Wrapper for the SAN model.

class topobenchmarkx.nn.wrappers.simplicial.san_wrapper.SANWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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.

Wrapper for the SCCN model.

class topobenchmarkx.nn.wrappers.simplicial.sccn_wrapper.SCCNWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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.

Wrapper for the SCCNN model.

class topobenchmarkx.nn.wrappers.simplicial.sccnn_wrapper.SCCNNWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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.

Wrapper for the SCNW model.

class topobenchmarkx.nn.wrappers.simplicial.scn_wrapper.SCNWrapper(backbone, **kwargs)[source]#

Wrapper 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)[source]#

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)[source]#

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.