DWPretrain(data, epoch=200, embedding_dim=128, walk_length=20, context_size=10, walks_per_node=10, num_negative_samples=1)

Bases: Module

DeepWalk pretraining implementation for graph embeddings.

Parameters:
  • data (Data) –

    Input graph data object.

  • epoch (int, default: 200 ) –

    Number of training epochs. Default: 200.

  • embedding_dim (int, default: 128 ) –

    Dimension of node embeddings. Default: 128.

  • walk_length (int, default: 20 ) –

    Length of each random walk. Default: 20.

  • context_size (int, default: 10 ) –

    Size of context window. Default: 10.

  • walks_per_node (int, default: 10 ) –

    Number of walks per node. Default: 10.

  • num_negative_samples (int, default: 1 ) –

    Number of negative samples per positive pair. Default: 1.

Notes

Implements DeepWalk algorithm using Node2Vec with p=q=1.0 (equivalent to DeepWalk). Uses sparse implementation for memory efficiency.

fit()

Complete training procedure for all epochs.

Notes

Executes training loop for specified number of epochs. Prints progress including epoch number and loss value.

get_embedding()

Retrieve learned node embeddings.

Returns:
  • Tensor

    Node embedding matrix of shape (num_nodes, embedding_dim).

Notes

Returns final node embeddings after training or during evaluation.

train()

Execute one epoch of training.

Returns:
  • float

    Average loss value for the epoch.

Notes

Training process:

  1. Generate random walks
  2. Sample positive and negative context pairs
  3. Update embeddings using SparseAdam optimizer