https://blog.csdn.net/xjp_xujiping/article/details/82953246
https://blog.csdn.net/lafengxiaoyu/article/details/111602955
一,原因
我们接触到的机器学习和深度学习为了训练模型都需要庞大的数据,而对数据的处理(咋样将数据喂入模型)将是一个必须解决的问题。流浪者hwm。
在这里我们引入了 epochs,batch size,iteration这些概念来解决我们面临的问题。
二,epochs
定义:每一个Epoch是指当一个完整的数据集已经被神经网络前向和反向传播一次。
因为一个epoch可能很大,因此我们需要把它划分为很多个batch(批次)
为什么要使用多于一个 epoch?
在神经网络中传递完整的数据集一次是不够的,我们需要将完整的数据集在同样的神经网络中传递多次。
三,batch_size(每一批次数据的多少)
机器学习和深度学习的数据成千上万,直接将所有的数据读出放在内存中显然是不现实的所以我们想到的是在需要的时候读取一部分,再在次需要的时候在读取一部分。
请注意:Batch size 和number of batches (批次数)是两个不同的东西
四,Iterations(批次的多少)
定义:Iterations是在一个epoch里需要的批次数(number of batches)
请注意:批次数目(The number of batches)等于在一个epoch中所需的Iteration数目
五,举个例子
六,model.fit介绍
model.fit(
训练集的输入特征,
训练集的标签,
batch size,#每一个batch的大小 epochs,#迭代次数
validation data=(测试集的输入特征,测试集的标签),
validation_split=从测试集中划分多少比例给训练集
validation_.freq=测试的epoch间隔数
)