字符识别模型训练与验证

  1. 构建验证集
    在机器学习与深度学习模型的训练过程中,模型非常容易出现过拟合的现象。构建验证集能够有效解决过拟合问题,验证集需要尽可能与测试集保持一致,在训练过程中不断验证模型在验证集上的精度,以此控制模型训练。

验证集构建方法
(1)留出法(Hold-out)
这种方法直接将训练集分成新的训练集与验证集。优点是直接简单,缺点是只得到一份验证集,有可能导致模型在验证集上出现过拟合。留出法适用于数据量较大的情况。
(2)交叉验证法(Cross Validation)
将训练集划分为K份,将其中的K-1份作为训练集,剩余的一份作为验证集,循环K训练。这种划分方法使所有的训练集都是验证集,最终模型验证精度都是K份平均得到。优点是验证机京都较高,训练K次可以得到K个有多样性差异的模型;缺点是需要训练K次,不适用于大数据量。
(3)自助采样法(BootStrap)
通过有放回的采样方式得到新的训练集与验证集,每次训练集和验证集都有区别。此方法适用于小数据量情况。

#定义读取数据dataloader
train_path = glob.glob('F:\目标检测\街景字符识别\mchar_train\mchar_train/*.png')#匹配所有的符合条件的文件,并将其以list的形式返回。
train_path.sort()
train_json = json.load(open('F:\目标检测\街景字符识别\mchar_train/mchar_train.json'))#从json文件中读取数据
train_label = [train_json[x]['label'] for x in train_json]
print(len(train_path), len(train_label))

train_loader = torch.utils.data.DataLoader(
    SVHNDataset(train_path, train_label,
                transforms.Compose([
                    transforms.Resize((64, 128)),#缩放尺寸
                    transforms.RandomCrop((60, 120)),#RandomCrop(size, padding=0)随机裁剪。si
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值