栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Tensorflow加载和处理数据集——tensorflow数据集项目

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tensorflow加载和处理数据集——tensorflow数据集项目

tensorflow进行数据集处理的办法有几种呢,归纳整理在其它文章中。这篇文章是通过学习<机器学习实战>资料书的总结。方便以后查看。
Tensorflow不仅可以加载和处理我们自己的数据集,其本身蕴含很多经典数据集,如:MNIST或Fashion MNIST、ImageNet数据集等。可以访问

https://homl.info/tfds

来查看完整列表以及每个数据集的描述(不过得翻墙)。
Tensorflow的数据集项目并没有和Tensorflow框架放在一起,所以要在环境下先安装tensorflow_datasets库,然后才能导入tfds
我实在conda中搭建的虚拟环境下安装的tensorflow,为了方便使用,我把tensorflow_datasets和tensorflow安装在同一个虚拟环境下。
直接使用:
环境激活:

conda activate envs_names

pip安装

pip install tensorlfow_datasets

然后就可以使用这个库加载需要的数据集:

import tensorflow_datasets as tfds
dataset = tfds.load(name='mnist') # 直接使用该库 加载MNIST数据集
mnist_train, mnist_test = dataset["train"], dataset["test"] #真好,已经帮我们分好训练集和测试集
# 然后还可以做一系列的操作
mnist_train = mnist_train.shuffle(10000).batch(32).prefetch(1) # 打乱、分批加载、预抓取

以上数据集中每个项目都是包含特征和标签的元组,但是在使用Keras框架时,希望的是一个包含两个元素的元组,所以可以先对mnist_train进行一些预处理

mnist_train = mnist_train.shuffle(10000).batch(32)
mnist_train = mnist_train.map(lambda items: (items["image"], items["label"])) # 将字典形式转为元组形式
mnist_train = mnist_train.prefetch(1)

还有一种更简单的数据集加载和处理方法,但是需要数据集本身是含有标签的,只需要在加载数据集的时候,让as_supervised=True就可以了,同样以MNIST数据集为例:

dataset = tfds.load(name="mnist", batch_size=32, as_supervised=True)
mnist_train = dataset["train"].prefetch(1)

然后就可以直接往搭建好的模型中喂数据了:

model=keras.models.Sequential()
model.add(keras.layers.Dense(....))
model.add(keras.layers.Dense(....))
model.add(keras.layers.Dense(....))
model.compile(loss="sparse_categorical_crossentroy", optimizer="sgd")
model.fit(mnist_train, epochs=5) # 直接往模型中加载数据就可以了

这种数据集的处理是非常简单的,大部分情况下,还是要自己去处理自己的数据集。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958583.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号