Right now IterableDataset doesn't do any formatting.
In particular this code should return a numpy array:
from datasets import load_dataset
ds = load_dataset("imagenet-1k", split="train", streaming=True).with_format("np")
print(next(iter(ds))["image"])
Right now it returns a PIL.Image.
Setting streaming=False does return a numpy array after #5072