第4章
TensorFlow Datasets
在本书的前几章中,你使用了不同的数据来训练模型,从通常与Keras绑定的Fashion MNIST数据集,到基于图像的Horses or Humans和Dogs vs. Cats数据集,你不得不下载和预处理它们可用的ZIP文件。你可能已经发现有许多不同的方法来得到训练模型的数据。
但是,在你开始考虑模型架构之前,许多公开的数据集需要你学习很多不同领域的技能。TensorFlow Datasets(TFDS)背后的目标是使用一种简单的方法来提供数据集供用户使用,所有获取数据以及将它传入TensorFlow友好的API的预处理步骤都为你实现好了。
在第1和第2章中,你已经看到了一些Keras如何处理Fashion MNIST数据集的想法。回顾一下,为了获取数据,你需要运行以下代码:
TFDS基于这个想法构建,极大地扩展了数据集的个数和数据类型的多元化。可用的数据集列表(https://oreil.ly/zL7zq)一直都在增加,例如以下类型。
音频
演讲和音乐数据。
图像
从简单的学习数据集(例如Horses or Humans)到高级的科研数据集(例如糖尿病视网膜病变检测)。
目标检测
COCO、Open Images,等等。
结构化数据
Titanic幸存者、Amazon评价,等等。
总结
CNN和Daily Mail的新闻、科研论文、wikiHow,等等。
文本
IMDb评论、自然语言问题,等等。
翻译
各种各样的翻译训练数据集。
视频
Moving MNIST、Starcraft,等等。
TensorFlow Datasets在TensorFlow之外需要独立安装,因此在尝试任何例子之前,确保安装好它!如果你正在使用Google Colab,那么它已经安装好了。
本章将介绍TFDS以及如何使用它来极大地简化训练过程。我们将探索底层的TFRecord结构,以及它如何对所有类型的潜在数据都能提供共性。你还会学习使用TFDS的Extract-Transform-Load(ETL)模式,该模式可以用来有效地使用超大量的数据训练模型。