def METHOD_NAME(
    training_set: Dataset, validation_set: Union[Dataset, None], test_set: Union[Dataset, None]
) -> List[Tuple[str, int, int]]:
    from ludwig.benchmarking.utils import format_memory
    dataset_statistics = [["Dataset", "Size (Rows)", "Size (In Memory)"]]
    dataset_statistics.append(["Training", len(training_set), format_memory(training_set.in_memory_size_bytes)])
    if validation_set is not None:
        dataset_statistics.append(
            ["Validation", len(validation_set), format_memory(validation_set.in_memory_size_bytes)]
        )
    if test_set is not None:
        dataset_statistics.append(["Test", len(test_set), format_memory(test_set.in_memory_size_bytes)])
    return dataset_statistics