class_docstr: A training loop that uses the stochastic local closed world assumption training approach.
  
  [ruffinelli2020]_ call the sLCWA ``NegSamp`` in their work.
class_docstr_tok: ["A","training","loop","that","uses","the","stochastic","local","closed","world","assumption","training","approach",".","[","ruffinelli2020","]","_","call","the","sLCWA","``","NegSamp","``","in","their","work","."]
code: def _create_training_data_loader(
      self,
      triples_factory: CoreTriplesFactory,
      sampler: Optional[str],
      batch_size: int,
      drop_last: bool,
      **kwargs,
  ) -> DataLoader[SLCWABatch]:  # noqa: D102
      assert "batch_sampler" not in kwargs
      return DataLoader(
          dataset=triples_factory.create_slcwa_instances(
              batch_size=batch_size,
              shuffle=kwargs.pop("shuffle", True),
              drop_last=drop_last,
              negative_sampler=self.negative_sampler,
              negative_sampler_kwargs=self.negative_sampler_kwargs,
              sampler=sampler,
          ),
          # disable automatic batching
          batch_size=None,
          batch_sampler=None,
          **kwargs,
      )
  
imports: import logging
  from typing import Optional
  import torch.utils.data
  from class_resolver import HintOrType, OptionalKwargs
  from torch.utils.data import DataLoader
  from .training_loop import TrainingLoop
  from ..losses import Loss
  from ..models.base import Model
  from ..sampling import NegativeSampler
  from ..triples import CoreTriplesFactory
  from ..triples.instances import SLCWABatch, SLCWASampleType
  from ..typing import InductiveMode
label_desc: Use image node_id 2 for calling the SLCWATrainingLoop obj's underlying member method code with example usage: obj._create_training_data_loader(triples_factory, sampler, batch_size, drop_last) and returns: DataLoader