class_docstr: A base module for training models with PyTorch Lightning.
  
  .. seealso::
      :class:`pykeen.training.training_loop.TrainingLoop`
class_docstr_tok: ["A","base","module","for","training","models","with","PyTorch","Lightning",".","..","seealso",":",":",":","class",":","`","pykeen.training.training_loop.TrainingLoop","`"]
docstr: Perform a training step.
docstr_tok: ["Perform","a","training","step","."]
code: def training_step(self, batch, batch_idx):
      """Perform a training step."""
      return self._step(batch, prefix="train")
  
imports: from abc import abstractmethod
  from typing import Optional
  import click
  import pytorch_lightning
  import torch
  import torch.utils.data
  from class_resolver import ClassResolver, HintOrType, OptionalKwargs
  from pykeen.datasets import dataset_resolver, get_dataset
  from pykeen.datasets.base import Dataset
  from pykeen.losses import Loss, loss_resolver
  from pykeen.models import Model, model_resolver
  from pykeen.models.cli import options
  from pykeen.optimizers import optimizer_resolver
  from pykeen.sampling import NegativeSampler
  from pykeen.training import LCWATrainingLoop, SLCWATrainingLoop
  from pykeen.triples.triples_factory import CoreTriplesFactory
  from pykeen.typing import InductiveMode, OneOrSequence
label_desc: Use image node_id 4 for calling the LitModule obj's underlying member method code with example usage: obj.training_step(batch, batch_idx) and returns: self