models.nn.pyg_infograph

Module Contents

Classes

SUPEncoder

Encoder used in supervised model with Set2set in paper `”Order Matters: Sequence to sequence for sets”

Encoder

Encoder stacked with GIN layers

FF

Residual MLP layers.

InfoGraph

Implimentation of Infograph in paper `”InfoGraph: Unsupervised and Semi-supervised Graph-Level Representation

class models.nn.pyg_infograph.SUPEncoder(num_features, dim, num_layers=1)[source]

Bases: torch.nn.Module

Encoder used in supervised model with Set2set in paper “Order Matters: Sequence to sequence for sets” <https://arxiv.org/abs/1511.06391> and NNConv in paper “Dynamic Edge-Conditioned Filters in Convolutional Neural Networks on Graphs” <https://arxiv.org/abs/1704.02901>

forward(self, x, edge_index, batch, edge_attr)[source]
class models.nn.pyg_infograph.Encoder(in_feats, hidden_dim, num_layers=3, num_mlp_layers=2, pooling='sum')[source]

Bases: torch.nn.Module

Encoder stacked with GIN layers

in_featsint

Size of each input sample.

hidden_featsint

Size of output embedding.

num_layersint, optional

Number of GIN layers, default: 3.

num_mlp_layersint, optional

Number of MLP layers for each GIN layer, default: 2.

poolingstr, optional

Aggragation type, default : sum.

forward(self, x, edge_index, batch, *args)[source]
class models.nn.pyg_infograph.FF(in_feats, out_feats)[source]

Bases: torch.nn.Module

Residual MLP layers.

..math::

out = mathbf{MLP}(x) + mathbf{Linear}(x)

in_featsint

Size of each input sample

out_featsint

Size of each output sample

forward(self, x)[source]
class models.nn.pyg_infograph.InfoGraph(in_feats, hidden_dim, out_feats, num_layers=3, unsup=True)[source]

Bases: models.BaseModel

Implimentation of Infograph in paper `”InfoGraph: Unsupervised and Semi-supervised Graph-Level Representation

Learning via Mutual Information Maximization” <https://openreview.net/forum?id=r1lfF2NYvH>__. `

in_featsint

Size of each input sample.

out_featsint

Size of each output sample.

num_layersint, optional

Number of MLP layers in encoder, default: 3.

unsupbool, optional

Use unsupervised model if True, default: True.

static add_args(parser)[source]

Add model-specific arguments to the parser.

classmethod build_model_from_args(cls, args)[source]

Build a new model instance.

classmethod split_dataset(cls, dataset, args)[source]
reset_parameters(self)[source]
forward(self, batch)[source]
sup_forward(self, x, edge_index=None, batch=None, label=None, edge_attr=None)[source]
unsup_forward(self, x, edge_index=None, batch=None)[source]
sup_loss(self, prediction, label=None)[source]
unsup_loss(self, x, edge_index=None, batch=None)[source]
unsup_sup_loss(self, x, edge_index, batch)[source]
static mi_loss(pos_mask, neg_mask, mi, pos_div, neg_div)[source]