Set reshuffle_each_iteration option of shuffle as True by default instead of None
Hi @gab48 ,

Though the argument `reshuffle_each_iteration=None` in the function, it defaults to `True` only which is documented in the argument description of this function. Please refer to argument description below as per document source [link](https://www.tensorflow.org/api_docs/python/tf/data/Dataset#shuffle:~:text=(Optional.)%20A%20boolean%2C%20which%20if%20true%20indicates%20that%20the%20dataset%20should%20be%20pseudorandomly%20reshuffled%20each%20time%20it%20is%20iterated%20over.%20(Defaults%20to%20True.)).



reshuffle_each_iteration | (Optional.) A boolean, which if true indicates that the dataset should be pseudorandomly reshuffled each time it is iterated over. (Defaults to True.)
-- | --


 @gab48  It actually makes it more sense to set it as `None`.

`None` makes it easier for someone to change the options using configuration files. @gab48 ,

I agree to above comment. I think that's individual preference. But the default behaviour is properly documented and code also handled it as it is documented. I think there is no need to change anything here as there is no conflicts in documentation wrt code.

Thanks! This issue is stale because it has been open for 7 days with no activity. It will be closed if no further activity occurs. Thank you. This issue was closed because it has been inactive for 7 days since being marked as stale. Please reopen if you'd like to work on this further.
### Issue type

Feature Request

### Have you reproduced the bug with TensorFlow Nightly?

Yes

### Source

source

### TensorFlow version

2.14.0

### Custom code

Yes

### OS platform and distribution

Windows 11

### Mobile device

_No response_

### Python version

3.11.4

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

When shuffling a dataset, the option reshuffle_each_iteration is None by default. But, when we look closer at the documentation, the default behavior is to reshuffle each iteration.
It would be better to set the default value of reshuffle_each_iteration to 'True' instead of None which is ambiguous.
Please find attached the code of the function at : https://github.com/tensorflow/tensorflow/blame/8c25f8252175c6a4f9614797e953fcbfb93c3aed/tensorflow/python/data/ops/shuffle_op.py#L49C12-L49C12

### Standalone code to reproduce the issue

```shell
# Code in tensorflow/tensorflow/python/data/ops/shuffle_op.py
class _ShuffleDataset(dataset_ops.UnaryUnchangedStructureDataset):
  """A `Dataset` that randomly shuffles the elements of its input."""

  def __init__(self,
               input_dataset,
               buffer_size,
               seed=None,
               reshuffle_each_iteration=None,
               name=None):
    """See `Dataset.shuffle()` for details."""
    self._input_dataset = input_dataset
    self._buffer_size = ops.convert_to_tensor(
        buffer_size, dtype=dtypes.int64, name="buffer_size")
    self._seed, self._seed2 = random_seed.get_seed(seed)
    if reshuffle_each_iteration is None:
      reshuffle_each_iteration = True
    self._reshuffle_each_iteration = reshuffle_each_iteration
    self._name = name
```


### Relevant log output

_No response_