TensorFlow:数据集加载

TensorFlow:数据集加载

数据集加载

1.keas.datasets
tensoflow.keras提供了keras.datasets的接口

常见的数据集:
Boston housing price regerssion dataset
MNIST/Fashion-MNIST dataset
sentiment classification dataset(imdb)
small images classidication dataset(CIFAR10/100)

数据集加载步骤
Step0: 准备要加载的numpy数据
Step1: 使用 tf.data.Dataset.from_tensor_slices() 函数进行加载
Step2: 使用 shuffle() 打乱数据
Step3: 使用 map() 函数进行预处理
Step4: 使用 batch() 函数设置 batch size 值
Step5: 根据需要 使用 repeat() 设置是否循环迭代数据集

MNIST

keras.datasets.mnist.load_data()
将MNIST数据集加载并处理成Numpy格式。
(x,y)是60000张训练数据集,
(x_test,y_test)是10000张测试数据集
其中y和y_test存储的是0~9的数字,代表每张图片的值。
y[:4]=[5,0,4,1]表示前四张图片的值分别为5,0,4,1。
tf.one_hot( )将y的数据转换成one_hot类型。
在这里插入图片描述

CIFAR10/100
10和100表示数据的类别,一共10个大类,每一个大类分成10个小类,共有100类。
图片的size=[32,32,3]数据很小。

共有60000张图片,其中50000张是训练数据集,10000张是测试数据集。
在这里插入图片描述

tf.data.Dataset.from_tensor_slices()
切分传入的 Tensor 的第一个维度,生成相应的 dataset
使用迭代器进行迭代
在这里插入图片描述
.shuffle
将数据集打散
在这里插入图片描述

.map
数据预处理
在这里插入图片描述

.batch
设置batch_size,下图的db2.batch(32),batch_size=32,以32张图片分为一组。
在这里插入图片描述
.repeat
设置数据集的迭代次数,空着则一致循环。

For Example:

def preparer_mnist_featues_and_lables(x, y):
	x = tf.cast(x, tf.float32) / 255. #缩放到0~1范围
	y = tf.cast(y, tf.int64)
	retu x,y

def mnist_dataset():
	(x, y), (x_val, y_val) = datasets.fanshion_muist.load_data() #加载数据集
	# x:60k   y:10k  x_val:60k    y_val:10k
	y = tf.one_hot(y, depth = 10)   #y:[10k,10]
	y_val =  tf.one_hot(y_val, depth = 10)  #y_val:[10k,10]

	ds = tf.data.Dataset.from_tenso_slices((x, y))
	ds = ds.map(repae_mnist_featues_and_lables)  #预处理
	ds = ds.shuffle(60000).batch(100)  #打散在batch
	ds_val = tf.data.Dataset.from_tenso_slices((x_val, y_val))
	ds_val = ds_val.map(repae_mnist_featues_and_lables)
	ds_val = ds_val.shuffle(10000).batch(100)
	return ds, ds_val

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值