我们以MNIST手写数字识别为例载入初次训练的模型,再训练关于compile和load_model()的使用顺序这一段落主要是为了解决我们fit、evaluate、predict之前还是之后使用compile。想要弄明白,首先我们要清楚compile在程序中是做什么的?compile定义了loss function损失函数、optimizer优化器和metrics度量。它与权重无关,也就是说compile并不会影响权重,不会影响之前训练的问题。如果我们要训练模型或者评估模型evaluate,则需要compile,因为训练要使用损失函数和优化器,评估要使用度量方法;如果我们要预测,则没有必要compile模型。除非我们要更改其中之一:损失函数、优化器 / 学习率、度量又或者我们加载了尚未编译的模型。如果再次编译模型,将会丢失优化器状态.这意味着您的训练在开始时会受到一点影响,直到调整学习率,动量等为止。
暂无评论