源码:也就是说训练集 和测试集可以有为空的情况。
fit(
x=None,
y=None,
batch_size=None,
epochs=1,
verbose='auto',
callbacks=None,
validation_split=0.0,
validation_data=None,
shuffle=True,
class_weight=None,
sample_weight=None,
initial_epoch=0,
steps_per_epoch=None,
validation_steps=None,
validation_batch_size=None,
validation_freq=1,
max_queue_size=10,
workers=1,
use_multiprocessing=False
)
参数:
- x:输入
- y:输出
- batch_size:输入多少样本呢整数;每次梯度更新的样本数。未指定,默认为32
- epochs:整数训练模型迭代次数
- verbose:日志展示,整数;0:为不在标准输出流输出日志信息1:显示进度条2:每个epoch输出一行记录
- callbacks:其中的元素是keras.callbacks.Callback的对象。这个list中的回调函数将会在训练过程中的适当时机被调用,参考回调函数;
- validation_split:浮点数0-1之间 ;表示验证集的比例;用作验证集的训练数据的比例。模型将分出一部分不会被训练的验证数据,并将在每一轮结束时评估这些验证数据的误差和任何其他模型指标。验 证 数 据 是 混 洗 之 前 x 和 y 数 据 的 最 后 一 部 分 样 本 中 。 \color{red}{ 验证数据是混洗之前 x 和y 数据的最后一部分样本中。}验证数据是混洗之前x和y数据的最后一部分样本中。
- validation_data:元组 (x_val,y_val) 或元组 (x_val,y_val,val_sample_weights), 用来评估损失,以及在每轮结束时的任何模型度量指标。模型将不会在这个数据上进行训练。这个参数会覆盖 validation_split。
- shuffle:布尔值;是否在每轮迭代之前混洗数据
- class_weight
- sample_weight
- initial_epoch
- steps_per_Epoch:一个epoch包含的步数(每一步是一个batch的数据送入),当使用如TensorFlow数据Tensor之类的输入张量进行训练时,默认的None代表自动分割,即数据集样本数/batch样本数。
- validation_steps:仅当steps_per_epoch被指定时有用,在验证集上的step总数。
- validation_freq :验证集每多少次打印
- max_queue_size
- workers:整数;最大线程数
- Used for generator or keras.utils.Sequence input only
- use_multiprocessing:布尔值
- Used for generator or keras.utils.Sequence input only:是否用多线程
返回:
其 History.history 属性是连续时期的训练损失值和指标值的记录,以及验证损失值和验证指标值。用来记录:loss; val_loss ; accuracy ;val_accuracy;