def METHOD_NAME(
        use_zeros_for_missing: bool,
        eval_only: bool,
        data_dir: str,
        text_agg: str,
        text_feat: str,
        split_name: str,
        dataset_name: str,
        cls_partition: str,
        root_feat_folder: str,
        text_dim: int,
        num_test_captions: int,
        restrict_train_captions: int,
        logger: logging.Logger,
        max_tokens: Dict[str, int],
        raw_input_dims: HashableOrderedDict,
        feat_aggregation: HashableDict,
):
    print(f"refreshing cache for {dataset_name} data loader [{split_name}]")
    kwargs = dict(
        data_dir=Path(data_dir),
        text_dim=text_dim,
        logger=logger,
        eval_only=eval_only,
        text_agg=text_agg,
        text_feat=text_feat,
        max_tokens=max_tokens,
        split_name=split_name,
        cls_partition=cls_partition,
        raw_input_dims=raw_input_dims,
        root_feat_folder=root_feat_folder,
        feat_aggregation=feat_aggregation,
        num_test_captions=num_test_captions,
        use_zeros_for_missing=use_zeros_for_missing,
        restrict_train_captions=restrict_train_captions,
    )
    if dataset_name == "MSRVTT":
        dataset = MSRVTT(**kwargs)
    return dataset