The model.evaluate function predicts the output for the given input and then computes the metrics function specified in the model.compile and based on y_true and y_pred and returns the computed metric value as the output.
The model.predict just returns back the y_pred .
model.evaluate函数预测给定输入的输出,然后计算model.compile中指定的metrics函数,并基于y_true和y_pred,并返回计算的度量值作为输出。
model.predict只返回y_pred。
model.evaluate 用于评估您训练的模型。它的输出是准确度或损失,而不是对输入数据的预测。
model.predict 实际预测,其输出是目标值,根据输入数据预测。
Keras中model.evaluate()返回的是 损失值和你选定的指标值(例如,精度accuracy)。
其中制定输出由compile决定,例
d.compile(optimizer=keras.optimizers.Adam(5e-4),loss='mse',metrics=['acc'])
输出:loss&acc
---------------------------------------------------------------------------------------------------------------------
model.fit
#fit参数详情
keras.models.fit(
self,
x=None, #训练数据
y=None, #训练数据label标签
batch_size=None, #每经过多少个sample更新一次权重,defult 32
epochs=1, #训练的轮数epochs
verbose=1, #0为不在标准输出流输出日志信息,1为输出进度条记录,2为每个epoch输出一行记录
callbacks=None,#list,list中的元素为keras.callbacks.Callback对象,在训练过程中会调用list中的回调函数
validation_split=0., #浮点数0-1,将训练集中的一部分比例作为验证集,然后下面的验证集validation_data将不会起到作用
validation_data=None, #验证集
shuffle=True, #布尔值和字符串,如果为布尔值,表示是否在每一次epoch训练前随机打乱输入样本的顺序,如果为"batch",为处理HDF5数据
class_weight=None, #dict,分类问题的时候,有的类别可能需要额外关注,分错的时候给的惩罚会比较大,所以权重会调高,体现在损失函数上面
sample_weight=None, #array,和输入样本对等长度,对输入的每个特征+个权值,如果是时序的数据,则采用(samples,sequence_length)的矩阵
initial_epoch=0, #如果之前做了训练,则可以从指定的epoch开始训练
steps_per_epoch=None, #将一个epoch分为多少个steps,也就是划分一个batch_size多大,比如steps_per_epoch=10,则就是将训练集分为10份,不能和batch_size共同使用
validation_steps=None, #当steps_per_epoch被启用的时候才有用,验证集的batch_size
**kwargs #用于和后端交互
)
返回的是一个History对象,可以通过History.history来查看训练过程,loss值等等
fit--原文--https://blog.csdn.net/u011311291/article/details/79900060