Lit模块

class LitModule(dataset: str | Dataset | type[Dataset] | None = 'nations', dataset_kwargs: Mapping[str, Any] | None = None, mode: Literal['training', 'validation', 'testing'] | None = None, model: str | Model | type[Model] | None = 'distmult', model_kwargs: Mapping[str, Any] | None = None, batch_size: int = 32, learning_rate: float = 0.001, label_smoothing: float = 0.0, optimizer: str | Optimizer | type[Optimizer] | None = None, optimizer_kwargs: Mapping[str, Any] | None = None)[source]

基础类:LightningModule

一个用于使用PyTorch Lightning训练模型的基础模块。

创建闪电模块。

Parameters:
  • dataset (str | Dataset | type[Dataset] | None) – 数据集或其提示

  • dataset_kwargs (Mapping[str, Any] | None) – 传递给数据集的额外基于关键字的参数

  • mode (Literal['training', 'validation', 'testing'] | None) – 归纳模式;默认为传导训练

  • model (str | Model | type[Model] | None) – 模型或其提示

  • model_kwargs (Mapping[str, Any] | None) – 传递给模型的额外基于关键字的参数

  • batch_size (int) – 训练批次大小

  • learning_rate (float) – 学习率

  • label_smoothing (float) – 标签平滑

  • optimizer (str | Optimizer | type[Optimizer] | None) – 优化器,或其提示

  • optimizer_kwargs (Mapping[str, Any] | None) – 传递给优化器的额外基于关键字的参数。不应包含 lrparams

方法总结

configure_optimizers()

配置优化器。

forward(hr_batch)

通过包装pykeen.models.ERModel.predict_t()来执行预测或推理步骤。

on_before_zero_grad(optimizer)

training_step()之后和optimizer.zero_grad()之前调用。

train_dataloader()

创建训练数据加载器。

training_step(batch, batch_idx)

执行一个训练步骤。

val_dataloader()

创建验证数据加载器。

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

执行验证步骤。

方法文档

configure_optimizers()[来源]

配置优化器。

forward(hr_batch: Tensor) Tensor[source]

通过包装pykeen.models.ERModel.predict_t()来执行预测或推理步骤。

Parameters:

hr_batch (Tensor) – 形状: (batch_size, 2), 数据类型: long (head, relation) 对的索引。

Returns:

形状: (batch_size, num_entities), 数据类型: float 对于每个h-r对,所有可能尾部的分数。

Return type:

Tensor

注意

在lightning中,forward定义了预测/推理操作

on_before_zero_grad(optimizer: Optimizer) None[source]

training_step()之后和optimizer.zero_grad()之前调用。

在训练循环中,在采取优化器步骤之后和清零梯度之前调用。这是检查权重信息的好地方,权重已经更新。

这是它被调用的地方:

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

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

    backward()
Args:

optimizer: 应该将梯度归零的优化器。

Parameters:

优化器 (Optimizer)

Return type:

train_dataloader() DataLoader[source]

创建训练数据加载器。

Return type:

DataLoader

training_step(batch, batch_idx)[source]

执行一个训练步骤。

val_dataloader() DataLoader | Sequence[DataLoader][source]

创建验证数据加载器。

Return type:

DataLoader | Sequence[DataLoader]

validation_step(batch, batch_idx, *args, **kwargs)[来源]

执行验证步骤。