Constructs an iterable of IID clients from a
client_data, client_dataset_size: int, shuffle_buffer_size: int = 10000
The returned iterator yields a stream of
tf.data.Datsets that approximates
the true statistical IID setting with the entirety of
representing the global distribution. That is, we do not simply randomly
distribute the data across some fixed number of clients, instead each dataset
returned by the iterator samples independently from the entirety of
client_data (so any example in
client_data may be produced by any client).
tf.data.Dataset instance that yields iid client datasets sampled from
the global distribution.