TensorFlow Dataset

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
https://gist.github.com/ia35/cfe64164b85cf617a4f4fc373d9f3e28

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.