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_kwargs (Mapping[str, Any] | None) – 传递给数据集的额外基于关键字的参数
mode (Literal['training', 'validation', 'testing'] | None) – 归纳模式;默认为传导训练
batch_size (int) – 训练批次大小
learning_rate (float) – 学习率
label_smoothing (float) – 标签平滑
optimizer (str | Optimizer | type[Optimizer] | None) – 优化器,或其提示
optimizer_kwargs (Mapping[str, Any] | None) – 传递给优化器的额外基于关键字的参数。不应包含 lr 或 params。
方法总结
配置优化器。
forward(hr_batch)通过包装
pykeen.models.ERModel.predict_t()来执行预测或推理步骤。on_before_zero_grad(optimizer)在
training_step()之后和optimizer.zero_grad()之前调用。创建训练数据加载器。
training_step(batch, batch_idx)执行一个训练步骤。
创建验证数据加载器。
validation_step(batch, batch_idx, *args, ...)执行验证步骤。
方法文档
- 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:
注意
在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:
- val_dataloader() DataLoader | Sequence[DataLoader][source]
创建验证数据加载器。
- Return type: