Tensorflow 2.0笔记 -第五章-经典数据集使用
以下笔记都来自于龙龙老师的龙书《Tensorflow深度学习》
1.经典数据集
Boston Housing | 波士顿房价数据集 | 回归模型 |
---|---|---|
CIFAR10/100 | 真实图片数据集 | 图片分类 |
MNIST | 手写数字图片数据集 | 图片分类 |
IMDB | 情感分类数据集 | 文本分类任务 |
2.数据加载
import tensorflow as tf
from tensorflow.keras import datasets
# 通过 datasets.xxx.load_data()函数实现对应xxx数据集下载
(x_train,y_train) ,(x_test,y_test) = datasets.mnist.load_data()
3.数据转换
#数据想要使用Tensorflow时候需要转换成Dataset对象
train_db = tf.data.Dataset.from_tensor_slices((x , y))
4.数据随机打散
#通过Dataset.shuffle(buffer_size)可以打乱数据之间的顺序
train_db = train_db.shuffle(10000) # 打乱样本顺序,不会影响x和y的映射关系
5.批次训练
# 将样本分为多批次,每个批次所含样本数量叫做Batch_size
train_db = train_db.batch(128) # 将每个Batch大小设置为128
- Batch_size:每个批次的样本数
- Iteration:总样本分多少个批次
- Epoch: 总样本训练次数
6.预处理
对数据经行处理,来符合数据格式要求。可使用map(func)来调用自己自定义的函数方法。
7.循环训练
for epoch in range(20): #总样本循环训练20次
for step , (x , y) in enumerate(train_db): # 这里的step相当于是Iteration;train_db.shape = Batch_size
...
8.训练过程观测
if step % 100 == 0: #100 次迭代后观看一次训练误差
print(step , 'loss:' , float(loss)) # loss为损失函数(或者是cost代价函数)