LitModule

class LitModule(dataset='nations', dataset_kwargs=None, mode=None, model='distmult', model_kwargs=None, batch_size=32, learning_rate=0.001, label_smoothing=0.0, optimizer=None, optimizer_kwargs=None)[source]

Bases: LightningModule

A base module for training models with PyTorch Lightning.

Create the lightning module.

Parameters:

Methods Summary

configure_optimizers()

Configure the optimizers.

forward(hr_batch)

Perform the prediction or inference step by wrapping pykeen.models.ERModel.predict_t().

on_before_zero_grad(optimizer)

Called after training_step() and before optimizer.zero_grad().

train_dataloader()

Create the training data loader.

training_step(batch, batch_idx)

Perform a training step.

val_dataloader()

Create the validation data loader.

validation_step(batch, batch_idx, *args, ...)

Perform a validation step.

Methods Documentation

configure_optimizers()[source]

Configure the optimizers.

forward(hr_batch)[source]

Perform the prediction or inference step by wrapping pykeen.models.ERModel.predict_t().

Parameters:

hr_batch (LongTensor) – shape: (batch_size, 2), dtype: long The indices of (head, relation) pairs.

Return type:

FloatTensor

Returns:

shape: (batch_size, num_entities), dtype: float For each h-r pair, the scores for all possible tails.

Note

in lightning, forward defines the prediction/inference actions

on_before_zero_grad(optimizer)[source]

Called after training_step() and before optimizer.zero_grad().

Called in the training loop after taking an optimizer step and before zeroing grads. Good place to inspect weight information with weights updated.

This is where it is called:

for optimizer in optimizers:
    out = training_step(...)

    model.on_before_zero_grad(optimizer) # < ---- called here
    optimizer.zero_grad()

    backward()
Args:

optimizer: The optimizer for which grads should be zeroed.

Return type:

None

Parameters:

optimizer (Optimizer) –

train_dataloader()[source]

Create the training data loader.

Return type:

DataLoader

training_step(batch, batch_idx)[source]

Perform a training step.

val_dataloader()[source]

Create the validation data loader.

Return type:

Union[DataLoader, Sequence[DataLoader]]

validation_step(batch, batch_idx, *args, **kwargs)[source]

Perform a validation step.