深度学习中的模型保存、可视化与预训练CNN
模型训练时的监控与保存
在模型训练过程中,监控特定指标(如验证损失、验证准确率等)并将高性能网络保存到磁盘是很重要的。在Keras中有两种实现方法:
1. 检查增量改进。
2. 仅检查过程中找到的最佳模型。
个人更倾向于后者,因为它产生的文件更少,并且有一个单一的输出文件代表训练过程中找到的最佳时期。
例如,在训练过程中,只有当验证损失降低时,才会用更新后的网络覆盖之前保存的最佳权重文件。这样做有两个主要好处:
- 训练过程结束时只有一个序列化文件,即获得最低损失的模型时期。
- 不会捕捉损失上下波动的“增量改进”,只有当指标获得比所有先前时期更低的损失时,才会保存并覆盖现有的最佳模型。
以下是训练过程的示例:
305s - loss: 1.6657 - acc: 0.4441 - val_loss: 1.2668 - val_acc: 0.5584
Epoch 2/40
Epoch 00001: val_loss improved from 1.26677 to 1.21923, saving model to
test_best/cifar10_best_weights.hdf5
309s - loss: 1.1996 - acc: 0.5828 - val_loss: 1.2192 - val_acc: 0.5798
...
Epoch 40/40
Epoch 00039: val_loss did not improve
173s - loss: 0.2615 - acc: 0.90
超级会员免费看
订阅专栏 解锁全文
1372

被折叠的 条评论
为什么被折叠?



