Giter Club home page Giter Club logo

Comments (14)

zzh-ecnu avatar zzh-ecnu commented on August 19, 2024 2

作者的model是一个五层CNN,经过多次调参,测试集准确率最高到50%。

和同学探讨之后,认为模型(五层CNN)过于简单(也可能我们调参不够好),于是我们将模型换为了34层的残差网络res34-net,达到了测试集上86%的准确率。

86% Setting:1W例训练集、1000例测试集、15-30个epoch、64大小batch_size、学习率0.0002,loss最终在0.001左右。

from pytorch-captcha-recognition.

shicaiwei123 avatar shicaiwei123 commented on August 19, 2024 2

训练数据10w,1k图片测试准确率96%

把作者CNN特征提取的dropout去掉,只留下Linear层的dropout,
多增加几层layer,但是保持图片尺寸衰减还是8倍,也就是,只有3个maxpooling层,
余弦学习率衰减,

from pytorch-captcha-recognition.

zzh-ecnu avatar zzh-ecnu commented on August 19, 2024

另外,作者的版本为CPU版本,改成GPU版本的跑起来会很快(如果有一块不错的显卡),欢迎大家把更高准确率的模型训练详情po在这里,一起学习,共同进步!

from pytorch-captcha-recognition.

bruceyanwee avatar bruceyanwee commented on August 19, 2024

作者的model是一个五层CNN,经过多次调参,测试集准确率最高到50%。

和同学探讨之后,认为模型(五层CNN)过于简单(也可能我们调参不够好),于是我们将模型换为了34层的残差网络res34-net,达到了测试集上86%的准确率。

86% Setting:1W例训练集、1000例测试集、15-30个epoch、64大小batch_size、学习率0.0002,loss最终在0.001左右。

我也是新手,才做了3天,
我的想法是,想从更简单的开始尝试,然后再慢慢改模型,3w的训练数据
简单模型是两层卷积+两层全连接
setting1:2个字符、3w训练、10 epoch、test 1k、acc:76%
setting2:4个字符、3w训练、12 epoch、test 1k、acc:20%
基本还没有调参经验
请教一下:1w的数据很容易过拟合,是因为模型太简单了吗?我其实就是把该项目的卷积层改到了2层

from pytorch-captcha-recognition.

CANVOLCANO avatar CANVOLCANO commented on August 19, 2024

作者的model是一个五层CNN,经过多次调参,测试集准确率最高到50%。

和同学探讨之后,认为模型(五层CNN)过于简单(也可能我们调参不够好),于是我们将模型换为了34层的残差网络res34-net,达到了测试集上86%的准确率。

86% Setting:1W例训练集、1000例测试集、15-30个epoch、64大小batch_size、学习率0.0002,loss最终在0.001左右。

请问你们用的loss也是MultiLabelSoftMarginLoss吗?只是把backbone换成ResNet34其他的都没动么?

from pytorch-captcha-recognition.

zzh-ecnu avatar zzh-ecnu commented on August 19, 2024

from pytorch-captcha-recognition.

CANVOLCANO avatar CANVOLCANO commented on August 19, 2024

没错,没有改动别的,只有模型层。

---------- 该邮件从移动设备发送
--------------原始邮件-------------- 发件人:"燦哲 "<[email protected]>; 发送时间:2020年6月11日(星期四) 中午11:11 收件人:"dee1024/pytorch-captcha-recognition" <[email protected]>; 抄送:"zzh "<[email protected]>;"Author "<[email protected]>; 主题:Re: [dee1024/pytorch-captcha-recognition] 模型训练详情 (#35) ----------------------------------- 作者的model是一个五层CNN,经过多次调参,测试集准确率最高到50%。 和同学探讨之后,认为模型(五层CNN)过于简单(也可能我们调参不够好),于是我们将模型换为了34层的残差网络res34-net,达到了测试集上86%的准确率。 86% Setting:1W例训练集、1000例测试集、15-30个epoch、64大小batch_size、学习率0.0002,loss最终在0.001左右。 请问你们用的loss也是MultiLabelSoftMarginLoss吗?只是把backbone换成ResNet34其他的都没动么? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

我们把作者的5层的模型改了下,在10万的training_set和1万的test_set上30个epoch后最后loss大概0.6,测试准确度大概76%.
改成resNet34+初始0.01的lr在50个epoch内用MultiStepLR分阶段下降三次0.01->0.001->0.0001->0.00001,最后loss似乎一直卡在0.11.
请问你们的resNet34是自己写的么?方便share一下吗?:)

from pytorch-captcha-recognition.

zzh-ecnu avatar zzh-ecnu commented on August 19, 2024

没有,torch.nn里定义好的模型

from pytorch-captcha-recognition.

yingtao123 avatar yingtao123 commented on August 19, 2024

作者的model是一个五层CNN,经过多次调参,测试集准确率最高到50%。

和同学探讨之后,认为模型(五层CNN)过于简单(也可能我们调参不够好),于是我们将模型换为了34层的残差网络res34-net,达到了测试集上86%的准确率。

86% Setting:1W例训练集、1000例测试集、15-30个epoch、64大小batch_size、学习率0.0002,loss最终在0.001左右。

感谢楼主,按照楼主方法,5个字符长度,1w训练集,500测试集完全用楼主参数精度只有22%。后来动态调整了lr,
精度达84%,调整如下 初始为 parser.add_argument("--learning_rate", type=float, default=0.001)
训练中调整如下
lr = opt.learning_rate * (0.1 ** (epoch // 10))
for param_group in optimizer.param_groups:
param_group['lr'] = lr

from pytorch-captcha-recognition.

zzh-ecnu avatar zzh-ecnu commented on August 19, 2024

作者的model是一个五层CNN,经过多次调参,测试集准确率最高到50%。
和同学探讨之后,认为模型(五层CNN)过于简单(也可能我们调参不够好),于是我们将模型换为了34层的残差网络res34-net,达到了测试集上86%的准确率。
86% Setting:1W例训练集、1000例测试集、15-30个epoch、64大小batch_size、学习率0.0002,loss最终在0.001左右。

我也是新手,才做了3天,
我的想法是,想从更简单的开始尝试,然后再慢慢改模型,3w的训练数据
简单模型是两层卷积+两层全连接
setting1:2个字符、3w训练、10 epoch、test 1k、acc:76%
setting2:4个字符、3w训练、12 epoch、test 1k、acc:20%
基本还没有调参经验
请教一下:1w的数据很容易过拟合,是因为模型太简单了吗?我其实就是把该项目的卷积层改到了2层

模型简单只会欠拟合,目前这个情况看来是作者释放的模型超参有问题,具体改法你可以看看其他人的分享~

from pytorch-captcha-recognition.

zzh-ecnu avatar zzh-ecnu commented on August 19, 2024

作者的model是一个五层CNN,经过多次调参,测试集准确率最高到50%。
和同学探讨之后,认为模型(五层CNN)过于简单(也可能我们调参不够好),于是我们将模型换为了34层的残差网络res34-net,达到了测试集上86%的准确率。
86% Setting:1W例训练集、1000例测试集、15-30个epoch、64大小batch_size、学习率0.0002,loss最终在0.001左右。

感谢楼主,按照楼主方法,5个字符长度,1w训练集,500测试集完全用楼主参数精度只有22%。后来动态调整了lr,
精度达84%,调整如下 初始为 parser.add_argument("--learning_rate", type=float, default=0.001)
训练中调整如下
lr = opt.learning_rate * (0.1 ** (epoch // 10))
for param_group in optimizer.param_groups:
param_group['lr'] = lr

感谢分享!

from pytorch-captcha-recognition.

zzh-ecnu avatar zzh-ecnu commented on August 19, 2024

训练数据10w,1k图片测试准确率96%

把作者CNN特征提取的dropout去掉,只留下Linear层的dropout,
多增加几层layer,但是保持图片尺寸衰减还是8倍,也就是,只有3个maxpooling层,
余弦学习率衰减,

感谢分享!

from pytorch-captcha-recognition.

Vincent0102 avatar Vincent0102 commented on August 19, 2024

训练数据10w,1k图片测试准确率96%

把作者CNN特征提取的dropout去掉,只留下Linear层的dropout,
多增加几层layer,但是保持图片尺寸衰减还是8倍,也就是,只有3个maxpooling层,
余弦学习率衰减,

基于以上修改,20W training data, 2k test data, feature extract增加到7层,最后几层输出通道改128,lr=0.0002,epochs=150,batch_size=64。测试正确率在98.8%到99%之间

from pytorch-captcha-recognition.

WnQinm avatar WnQinm commented on August 19, 2024

作者的model是一个五层CNN,经过多次调参,测试集准确率最高到50%。

和同学探讨之后,认为模型(五层CNN)过于简单(也可能我们调参不够好),于是我们将模型换为了34层的残差网络res34-net,达到了测试集上86%的准确率。

86% Setting:1W例训练集、1000例测试集、15-30个epoch、64大小batch_size、学习率0.0002,loss最终在0.001左右。

训练集10w、测试集1000、epoch30、batch_size64、学习率0.0002, 我将模型的卷积层全部去掉,换成了pytorch官方预训练好的resent34,并将resnet最后一层的fc改为了作者模型倒数第二层的fc,将模型移至gpu上训练,30轮后损失在0.001上下,测试集准确率为96%左右

from pytorch-captcha-recognition.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.