以下两张图为batch_size=512的情况下的loss与accuracy的可视化图表
由以上两张图可以看出,在对该模型进行训练时,其train loss是不断上升的,在网上搜了一下,大概意思是过拟合,所以我采用了以下代码来降低学习率
# 调整学习率
def scheduler(epoch):
# 每隔100个epoch,学习率减小为原来的1/10
if epoch % 5 == 0 and epoch != 0:
lr = K.get_value(model.optimizer.lr)
K.set_value(model.optimizer.lr, lr * 0.1)
print("lr changed to {}".format(lr * 0.1))
return K.get_value(model.optimizer.lr)
结果:
每训练五轮调整一次学习率。