def get_calib_dataloader(self, calib_dataset=None):
        """
        Returns the calibration dataloader :class:`~torch.utils.data.DataLoader`.

        Args:
            calib_dataset (:obj:`torch.utils.data.Dataset`, `optional`)
        """
        if calib_dataset is None and self.calib_dataset is None:
            raise ValueError("Trainer: calibration requires an calib_dataset.")
        calib_dataset = calib_dataset if calib_dataset is not None else self.calib_dataset

        calib_dataset = self._remove_unused_columns(calib_dataset, description="Calibration")

        return DataLoader(
            calib_dataset,
            batch_size=self.args.eval_batch_size,
            collate_fn=self.data_collator,
            drop_last=self.args.dataloader_drop_last,
            num_workers=self.args.dataloader_num_workers,
            pin_memory=self.args.dataloader_pin_memory,
            shuffle=True,
        )

        Returns the calibration dataloader :class:`~torch.utils.data.DataLoader`.

        Args:
            calib_dataset (:obj:`torch.utils.data.Dataset`, `optional`)
        
dpkd/transformers/examples/research_projects/quantization-qdqbert/trainer_quant_qa.py