使用MNIST数据集进行深度学习模型的训练,先看一下MNIST数据集有多少个样本呢:
读取方式:
import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data
mnist_data_folder = "/MNIST_data" #指定数据集所在的位置
mnist = input_data.read_data_sets(mnist_data_folder,one_hot = True) #读取mnist数据集,其中one_hot是一种编码格式
#获取数据集的个数
train_nums = mnist.train.num_examples #训练集样本数
validation_nums = mnist.validation.num_examples #校正集样本数
test_nums = mnist.test.num_examples #测试集样本数
print("MNIST训练集样本个数:%d"%train_nums)
print("MNIST验证集样本个数:%d"%validation_nums)
print("MNIST测试集样本个数:%d"%test_nums)
输出如下:
MNIST训练集样本个数:55000
MNIST验证集样本个数:5000
MNIST测试集样本个数:10000
由此我们可以看到
数据集常常被划分为2部分(训练集、测试集)或三部分(训练集、测试集、验证集),各部分的作用:
训练集(Train set):用来学习的一组例子,用于适应分类器的的参数(如神经网络的权重或阈值)。
验证集(Validation set):一组用于调整分类器参数(即体系结构,而不是权重的示例)的示例,例如选择神经网络中隐层神经元的数量。
测试集(Test set):一组用于评估完全指定分类器的的性能(泛化能力)的实例。
举个例子,训练集有点像模拟试卷,那么测试集就是期末大考,为了及时反馈学习状态调整学习方法,还可以设置月考,即验证集。