Le TensorFlow Dataset permet de lire facilement les jeux de données utilisés fréquemment en Machine Learning/Deep Learning.
Si vous utilisez tf >2.0 il n’est pas utile d’installer tfds (TensorFlow dataset library), par contre, pour tf <2.0 il faut installer le package.
pip install tensorflow-datasets
La liste des jeux de données supportés est importante. Elle est présentée ici.
Il y a des fichiers audios, des images, du texte, des traductions, et des vidéos.
Pour voir la liste des jeux de données :
tfds.list_builders()
Pour lire un fichier de données, c’est ensuite très simple (par exemple pour MNIST : )
dataset = tfds.load(name="mnist")
Le dataset est un dictionary train et test qui sont eux-mêmes des dictionaries.
mnist_train, mnist_test = dataset["train"], dataset["test"]
mnist_example, = mnist_train.take(1)
image, label = mnist_example["image"], mnist_example["label"]
Pour que les données lues soient compatibles avec Keras, il est nécessaire de préciser l’option as_super vised=True
Par exemple, ci-dessous (extrait du livre d’A. Géron).
dataset = tfds.load(name="mnist", batch_size=32, as_supervised=True)
mnist_train = dataset["train"].repeat().prefetch(1)
mnist_train = mnist_train.repeat(5).batch(32)
mnist_train = dataset["train"].repeat().prefetch(1)
Par exemple, ci-dessus :
- on lit le jeu de données MNIST, au format Keras
- on définit un batch size de 32
- repeat répète le jeu de données indéfiniment (car count=None)
- prefetch crée un sous jeu de données avec un 1 élément