def __init__(self, data_dir: str, input_list: str, annotation: np.ndarray = None, batch_size: int = None):
        # TODO(anyone): try to add file_chunk_size to distinguish the concept of batch_size and file_chunk_size
        """Initialize FileListDataLoader.

        :param data_dir: directory containing data.
        :param input_list: path to input list file. The paths in the input list file must be absolute paths.
        :param annotation: annotations for the data. Numpy array with shape (num_samples, ...).
        :param batch_size: number of inputs per chunked input list file for batch processing. If None, all inputs are
            loaded as a single chunk.
        """
        self.data_dir = data_dir
        self.input_list = input_list
        self.annotation = annotation
        self.batch_size = batch_size
        self.prepare_batches()
Initialize FileListDataLoader.

        :param data_dir: directory containing data.
        :param input_list: path to input list file. The paths in the input list file must be absolute paths.
        :param annotation: annotations for the data. Numpy array with shape (num_samples, ...).
        :param batch_size: number of inputs per chunked input list file for batch processing. If None, all inputs are
            loaded as a single chunk.
        
olive/platform_sdk/qualcomm/utils/data_loader.py