code: def _shard(
      split: Split, shard_index: int, num_shards: int
  ) -> Tuple[int, int]:
      """Returns [start, end) for the given shard index."""
      assert shard_index < num_shards
      arange = np.arange(split.num_examples)
      shard_range = np.array_split(arange, num_shards)[shard_index]
      start, end = shard_range[0], (shard_range[-1] + 1)
      return start, end
  
file_path: objax/examples/image_classification/imagenet_resnet50_data.py
imports: import enum
  from typing import Optional, Sequence, Tuple
  import jax
  import numpy
  import tensorflow.compat.v2
  import tensorflow_datasets
label_desc: Use image node_id 2 for calling a global function with example usage: _shard(split, shard_index, num_shards) and returns: start,  end