![机器学习实战:模型构建与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/359/44389359/b_44389359.jpg)
上QQ阅读APP看书,第一时间看更新
4.1 TFDS入门
让我们通过几个有关如何使用TFDS的简单例子来阐明它如何提供了一个标准的数据接口。
你可以使用一条pip
命令来安装它:
![](https://epubservercos.yuewen.com/A03276/23627497809544006/epubprivate/OEBPS/Images/083-1.jpg?sign=1739591005-MI2MtIoIXZEeTFmcw0hbWqtIH9mSJm4o-0-6c4cd6c5da94d23822ff42e176f6b163)
安装完成之后,你可以使用tfds.load
来访问数据集,将所需要的数据集的名字传递给它。例如,如果你想使用Fashion MNIST,可以使用以下代码:
![](https://epubservercos.yuewen.com/A03276/23627497809544006/epubprivate/OEBPS/Images/083-2.jpg?sign=1739591005-uPgINNV4O51d9O1WNYkxSLSuqjBOoRYK-0-fc811d380ce491781b3b15ca1fe0cd74)
确保检查你从tfds.load
命令返回获取的数据类型—打印元素的输出将是数据中原本存在的不同分割。在这个例子中,它是一个字典,其中包含两个字符串:test
和train
。这些是可用的分割。
如果你想将这些分割加载到一个包含真实数据的数据集中,可以在tfds.load
中简单指定想要的分割:
![](https://epubservercos.yuewen.com/A03276/23627497809544006/epubprivate/OEBPS/Images/084-1.jpg?sign=1739591005-OPkKHYlH63HawlaUqVb0mG0eytbRoR2R-0-75b8f1a129929d70aa439f76fe319faa)
在这个例子中,你会看到输出是DatasetAdapter
,你可以通过它来迭代以检查数据。这个适配器的一个很好的功能是可以通过简单地调用take(1)
来获得第一个记录。下面检查数据:
![](https://epubservercos.yuewen.com/A03276/23627497809544006/epubprivate/OEBPS/Images/084-2.jpg?sign=1739591005-Fl7seBOHwEteaI6boWf2IQllsiAATUNY-0-0afa2990fa6b14c817cdc567da944157)
第一个print
的输出会展示每一个记录中元素的类型是一个词典。当打印字典中的键值时,我们会看到在这个图像集合中类型是image
和label
。因此,如果你想检查数据集中的一个值,可以运行如下代码:
![](https://epubservercos.yuewen.com/A03276/23627497809544006/epubprivate/OEBPS/Images/084-3.jpg?sign=1739591005-gfCWooKNP2dNLscC9Zpa3EoxutZRdS2E-0-d7992d7e12426010b055e9d24ff8d652)
你会看到image的输出是一个其值的范围为0~255的28×28的数组(在tf.Tensor
中),代表像素的强度。label会输出tf.Tensor(2, shape=(), dtype=int64)
,表示图像在数据集中的类型是2。
在加载数据集时,有关数据集的数据可以使用with_info
参数得到,如下所示:
![](https://epubservercos.yuewen.com/A03276/23627497809544006/epubprivate/OEBPS/Images/084-4.jpg?sign=1739591005-ZmSOD37CJbEootVVPu1lythm22fK0SlI-0-d805b9d443762bce543d6b5691d0fc60)
打印info会为你提供数据集内容的详细信息。例如,对Fashion MNIST,你会看到类似如下的输出:
![](https://epubservercos.yuewen.com/A03276/23627497809544006/epubprivate/OEBPS/Images/084-5.jpg?sign=1739591005-o7Izf5DFXnG6Ag8N0GkM2rDGBGWpOrn8-0-df935b04437d7a09c5211017d333ee1e)
从以上代码中你可以看到详细信息,例如分割(就像之前展示的)和数据集中的特征,以及一些额外的信息(例如引用、描述和数据集的版本)。