学习目标
- 理解验证集的作用,并使用训练集和验证集完成训练
- 学会使用Pytorch环境下的模型读取和加载,并了解调参流程
模型训练与验证
- 构造验证集
- 模型训练与验证
- 模型保存与加载
- 模型调参流程
一、训练集、验证集和测试集
训练集:用于模型拟合的数据样本。
验证集:模型训练过程中单独留出的样本集。不参与模型的训练,可以用于调整模型的超参数和用于对模型的能力进行初步评估。
测试集:用来评估模最终模型的泛化能力。不参与模型的训练,不能作为调参、选择特征等算法相关的选择的依据。
二、街景字符编码识别的训练、验证和测试
1.迭代训练和验证模型
在每一轮epoch中,使用验证集对当前的模型进行评估,主要观察训练集和验证集的损失函数loss是否一直在下降,训练集的损失函数一般会随着epoch的迭代次数的增加而持续降低,而验证集会先下降再上升,当验证集损失函数loss最小的时候,此时保存的模型的泛化性能最好,再往后验证集的损失开始上升,说明模型开始过拟合了。
模型调参:可以改变优化器中的学习率的大小,调节批处理的bacthsize的大小,改变训练的迭代轮次epoch,改变网络的结构,添加正则化或dropout等增强模型的泛化能力。
model = SVHN_Model1()
criterion