class_docstr: :class:`FullSortEvalDataLoader` is a dataloader for full-sort evaluation. In order to speed up calculation,
  this dataloader would only return then user part of interactions, positive items and used items.
  It would not return negative items.
  
  Args:
      config (Config): The config of dataloader.
      dataset (Dataset): The dataset of dataloader.
      sampler (Sampler): The sampler of dataloader.
      shuffle (bool, optional): Whether the dataloader will be shuffle after a round. Defaults to ``False``.
code: def _init_batch_size_and_step(self):
      batch_size = self.config["eval_batch_size"]
      if not self.is_sequential:
          batch_num = max(batch_size // self._dataset.item_num, 1)
          new_batch_size = batch_num * self._dataset.item_num
          self.step = batch_num
          self.set_batch_size(new_batch_size)
      else:
          self.step = batch_size
          self.set_batch_size(batch_size)
  
imports: import numpy
  import torch
  from logging import getLogger
  from recbole.data.dataloader.abstract_dataloader import AbstractDataLoader, NegSampleDataLoader
  from recbole.data.interaction import Interaction, cat_interactions
  from recbole.utils import InputType, ModelType
label_desc: Use image node_id 3 for calling the FullSortEvalDataLoader obj's underlying member method code with example usage: obj._init_batch_size_and_step() without return types