深度学习模型训练过程
一.数据准备
- 基本原则:
1)数据标注前的标签体系设定要合理
2)用于标注的数据集需要无偏、全面、尽可能均衡
3)标注过程要审核
- 整理数据集
1)将各个标签的数据放于不同的文件夹中,并统计各个标签的数目
2)样本均衡,样本不会绝对均衡,差不多就行了
3)切分样本集
如:90%用于训练,10%留着测试,比例自己定。训练集合,对于弱势类要重采样,最后的图片列表要shuffle;测试集合就不用重采样了。
训练中要保证样本均衡,学习到弱势类的特征,测试过程要反应真实的数据集分布。
4)按需要的格式生成tfrecord
按照train.list和validation.list生成需要的格式。生成和解析tfrecord的代码要根据具体情况编写。
二.基本步骤
-
定义算法公式,也就是神经网络的前向算法。我们一般使用现成的网络,如inceptionV4,mobilenet等。
-
定义loss,选择优化器,来让loss最小
-
对数据进行迭代训练,使loss到达最小
-
在测试集或者验证集上对准确率进行评估
三.训练
- 预处理,根据自己的喜好,编写预处理策略。
preprocessing的方法,变换方案诸如:随机裁剪、随机变