We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
作者您好,
十分感谢您的慷慨分享,使我从论文和代码中学习和收获良多。
情况如下:我尝试用现有代码,训练体量和英文数据库相当的中文数据(200k左右张图片) 参考论文,将学习率设置为5e-4,并将epochs设置为150;同时,根据我自己的训练条件,vocab_size=6w左右,使用GPU资源 8xA6000,batchsize=1。
我有两点问题向您请教: (1)完成1个epochs需要4小时左右,那么估算来150epochs至少要25天,这和您的训练时长是相符的吗?因为我发现代码中并没有结束1epoch就进行evaluation的部分,而是一直训下去,evaluation是要单独运行的,这意味着训练过程不会early stop。 (2)训练loss在3epochs后下降到0.4左右,这个数字合理吗?因为我看最早一次对epoch checkpoint保存是10 epoch,在这之前只是不断更新checkpoint.pth,我理解这是到10epochs左右测试才比较有意义,但是到了3epochs loss=0.4左右的时候,loss的下降就变得缓慢了,请问这样正常吗?
再次感谢~期待您的回复。
The text was updated successfully, but these errors were encountered:
我是用A100 16卡 bs=4来训练的,因此我大约2-3天就能完成训练;loss 0.4应该是正常的,我最终收敛在0.3-附近。如果你需要evaluation,可以使用checkpoint进行测试,你可以设置多少个epoch存一次,我的建议是50个epoch测一下。loss到了后期下降缓慢也很正常
Sorry, something went wrong.
感谢您回复~
我的问题得到解决,还有一个小问题想要请教您,之前issue也有提到过,是关于标签的,我在阅读代码之后依旧有些疑惑,所以找您请教。
代码位置:SPTSv2/util/data.py args.category_start_index = args.bins + args.padding_bins*2 num_char_classes = len(args.chars) + 1 # this is for noise label / unk label if args.pad_rec: num_char_classes += 1 # this is for pad label args.end_index = args.category_start_index + num_char_classes args.start_index = args.end_index + 1 args.noise_index = args.start_index + 1 args.padding_index = args.noise_index + 1 args.no_known_index = args.padding_index
前面1000个是x,y位置的分类标签,识别器分类的类别,设置成了chars number + 4个类, 我理解的是: (1)chars number=97,除了95个英文字母+标点空格之类的,最后两个id=95是rec unknown, id=96是rec pad (2)后面的4个类,包括end, start, noise, pad (3)最后还有一个unknown,但是id和(2)中的noise id相同
我有2个地方不太理解: 第一,unknow和pad类别,为什么在(1)和(2)中定义了两次,这两次的用途有什么不同? 第二,(3)对应代码args.no_known_index = args.padding_index 我看代码中并没用到no_known_index,为什么要这么设置呢?
No branches or pull requests
作者您好,
十分感谢您的慷慨分享,使我从论文和代码中学习和收获良多。
情况如下:我尝试用现有代码,训练体量和英文数据库相当的中文数据(200k左右张图片)
参考论文,将学习率设置为5e-4,并将epochs设置为150;同时,根据我自己的训练条件,vocab_size=6w左右,使用GPU资源 8xA6000,batchsize=1。
我有两点问题向您请教:
(1)完成1个epochs需要4小时左右,那么估算来150epochs至少要25天,这和您的训练时长是相符的吗?因为我发现代码中并没有结束1epoch就进行evaluation的部分,而是一直训下去,evaluation是要单独运行的,这意味着训练过程不会early stop。
(2)训练loss在3epochs后下降到0.4左右,这个数字合理吗?因为我看最早一次对epoch checkpoint保存是10 epoch,在这之前只是不断更新checkpoint.pth,我理解这是到10epochs左右测试才比较有意义,但是到了3epochs loss=0.4左右的时候,loss的下降就变得缓慢了,请问这样正常吗?
再次感谢~期待您的回复。
The text was updated successfully, but these errors were encountered: