美文网首页
CV-模型训练与验证

CV-模型训练与验证

作者: 一技破万法 | 来源:发表于2020-05-20 10:29 被阅读0次

在模型的训练过程中,模型训练误差逐渐降低,但是模型泛化效果较差,这种现象称为过拟合。所以为了提高模型的泛化能力,我们可以构建一个验证集来验证精度。

模型训练与验证

构建训练集和验证集

train_loader = torch.utils.data.DataLoader(
    train_dataset,
    batch_size=10, 
    shuffle=True, 
    num_workers=10, 
)
    
val_loader = torch.utils.data.DataLoader(
    val_dataset,
    batch_size=10, 
    shuffle=False, 
    num_workers=10, 
)

训练时每轮进行训练和验证

训练时进行训练和验证

for epoch in range(20):
    print('Epoch: ', epoch)

    train(train_loader, model, criterion, optimizer, epoch)
    val_loss = validate(val_loader, model, criterion)

训练和验证时要切换模型模式

model.eval() #pytorch会把BN和DropOut固定住,不会取平均,而使用训练好的值。在模型测试阶段使用
model.train() #让model变成训练模式,此时dropout和batch normalization的操作在训练起到防止网络过拟合的问题。

模型保存与加载

# 保存和加载整个模型
torch.save(model_object, 'model.pkl')
model = torch.load('model.pkl')

# 仅保存和加载模型参数(推荐使用)
torch.save(model_object.state_dict(), 'params.pkl')
model_object.load_state_dict(torch.load('params.pkl'))

模型调参流程

截屏2020-05-20上午10.28.20.png

相关文章

  • CV-模型训练与验证

    在模型的训练过程中,模型训练误差逐渐降低,但是模型泛化效果较差,这种现象称为过拟合。所以为了提高模型的泛化能力,我...

  • Datawhale 零基础入门CV赛事-Task4 模型训练与验

    4 模型训练与验证 为此本章将从构建验证集、模型训练和验证、模型保存与加载和模型调参几个部分讲解,在部分小节中将会...

  • Task04 模型训练与验证

    一、模型训练与验证的流程 1 、在训练集上进行训练,在验证集上进行验证2 、模型可以保存最优的权重,并读取权重3 ...

  • 深度学习中一些小问题(python篇)

    1.验证集,测试集,训练集间的关系? 训练集:训练模型,或者训练模型参数的 验证集:做模型的优化及最终确定模型参数...

  • 2020-02-14摘要

    训练集与验证集模型训练的过程其实就是在求【参数】的过程,我们先假定某类【模型】(比如决策树模型),然后用【训练集】...

  • 深度学习验证码识别---验证码图片生成

    在做验证码识别之前,需要做数据准备,即验证码图片,作为后续模型训练与验证的训练数据集和测试数据集。验证码图片在制作...

  • 李沐-动手学深度学习(2)模型选择、过拟合和欠拟合

    【总结】 训练数据集:训练模型参数; 验证数据集:选择模型超参数。 非大数据集上通常使用k-折交叉验证。 模型容量...

  • WisdomOcean task4

    一、模型训练与预测 1. 随机森林分类 2. lightGBM模型 3. xgboost模型 二、交叉验证 1.简...

  • 训练集、验证集、测试集

    训练集(train set) 用途:用于训练模型以及确定模型权重 验证集(validation set) 用途:用...

  • 《B站西瓜书白话》-笔记2

    2、模型评估与选择 2.1、一种训练一种算法 2.1.1 经验误差与过拟合(简述)2.1.2 评估方法【训练集验证...

网友评论

      本文标题:CV-模型训练与验证

      本文链接:https://www.haomeiwen.com/subject/bhlgohtx.html