code: def even_splits(
      split: str,
      n: int,
      *,
      drop_remainder: bool = False,
  ) -> List[splits_lib.SplitArg]:
      """Generates a list of non-overlapping sub-splits of same size.
  
      Example:
  
      ```python
      split0, split1, split2 = tfds.even_splits('train', n=3, drop_remainder=True)
  
      # Load 1/3 of the train split.
      ds = tfds.load('my_dataset', split=split0)
      ```
  
      `tfds.even_splits` supports arbitrary
      [sub-splits](https://www.tensorflow.org/datasets/splits) inputs, including
      other `tfds.even_splits` outputs.
  
      Args:
        split: Split (e.g. 'train', 'test[75%:]',...)
        n: Number of sub-splits to create
        drop_remainder: Drop examples if the number of examples in the datasets is
          not evenly divisible by `n`. If `False`, examples are distributed evenly
          across subsplits, starting by the first. For example, if there is 11
          examples with `n=3`, splits will contain `[4, 4, 3]` examples
          respectivelly.
  
      Returns:
        The list of subsplits. Those splits can be combined together (with
          `+`) or with other subsplits (e.g. `split + 'test[75%:]'`).
      """
      return [
          _EvenSplit(
              split=split,
              index=i,
              count=n,
              drop_remainder=drop_remainder,
          )
          for i in range(n)
      ]
  
file_path: datasets/tensorflow_datasets/core/subsplits_utils.py
imports: import dataclasses
  import functools
  import operator
  from typing import List, Optional
  from absl import logging
  from tensorflow_datasets.core import lazy_imports_lib
  from tensorflow_datasets.core import splits
label_desc: Use image node_id 1 for calling a global function with example usage: even_splits(split, n) and returns: unknown