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 collate_fn(self, index):
      index = np.array(index)
      if not self.is_sequential:
          user_df = self.user_df[index]
          uid_list = list(user_df[self.uid_field])
  
          history_item = self.uid2history_item[uid_list]
          positive_item = self.uid2positive_item[uid_list]
  
          history_u = torch.cat(
              [
                  torch.full_like(hist_iid, i)
                  for i, hist_iid in enumerate(history_item)
              ]
          )
          history_i = torch.cat(list(history_item))
  
          positive_u = torch.cat(
              [
                  torch.full_like(pos_iid, i)
                  for i, pos_iid in enumerate(positive_item)
              ]
          )
          positive_i = torch.cat(list(positive_item))
  
          return user_df, (history_u, history_i), positive_u, positive_i
      else:
          interaction = self._dataset[index]
          transformed_interaction = self.transform(
              self._dataset, interaction
          )
          inter_num = len(transformed_interaction)
          positive_u = torch.arange(inter_num)
          positive_i = transformed_interaction[self.iid_field]
  
          return transformed_interaction, None, positive_u, positive_i
  
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 5 for calling the FullSortEvalDataLoader obj's underlying member method code with example usage: obj.collate_fn(index) and returns: user_df,  history_u,  history_i,  positive_u,  positive_i, transformed_interaction,  None,  positive_u,  positive_i