-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
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
accuracy = 0 and the result only contain one character after decoded #1
Comments
前4,5个epoch是这样的,大概到第7个epoch就有明显变化,已经可以感觉到,10几个之后就已经有一些对的了,如果不收敛,可以调调lr(比如调到1e-3,可以很快看到结果) |
@ilovin 确实如你说的,10几个epoch后准确率开始慢慢提高了。 |
时间和step有关,可以减小step,另外ctc是很耗时的,可以打开run_metadata选项看看瓶颈在哪里 |
我用的是tensorflow 1.1 的版本,跑了173步了都不收敛,也调整过 learning_rate , 是使用的tf版本有问题吗? 10:26:47 Epoch 173/10000, accuracy = 0.000,train_cost = 21.926, lastbatch_err = 0.983, time = 37.416 |
我看你一个epoch只用了37.416s,你用了多少数据做训练? |
我把训练集生成的比较小,和这个有关系?我按原来的配置重新生成一下试试,多谢指点! |
@ilovin 谢谢,确实是训练集太小了,已经可以收敛了 |
现在cost已经很小了,但是准确率还是上不去,楼主知道这是为什么么?或者有遇到的情况么? |
这里的acc是字符串准确率,字符准确率会高不少。 |
训练样本是128000,测试样本是10000,采用默认参数,300个Epoch后还是不收敛,而且acc一直是0.224。Epoch 300/10000, accuracy = 0.224,avg_train_cost = 5.262, lastbatch_err = 0.295, time = 583.210,lr=0.00000000。按照 @ilovin 的方法调整了学习率到1e-3后,Epoch 45/10000, accuracy = 0.036,avg_train_cost = 5.974, lastbatch_err = 0.320, time = 268.441,lr=0.00000002,好像没有在10个epoch后有明显变化。调整lr到1e-3,然后调整decay_rete到0.9,几十个epoch后还是一样没啥明显变化 |
已经解决不收敛问题,因为warpctc无法绑定到tensorflow1.1,所以采用standord ctc,发现里面的学习率衰减的太快,修改一下,就可以啦 |
请教一下为什么程序放到服务器上跑并不会加速,而跑其他程序正常!还有learning_rate和decay_rate都已经做过调整,然而acc仍然是0 |
---update--- |
尝试了下,把图片维度缩小到45 * 120(原图60 * 160),initial_lr=1e-3,decay_rate=0.9,decay_steps=1000,最终收敛情况:
模型可以修改的点很多,不过现在这个样子已经很不错了!感谢 |
@hsmyy 欢迎拍砖,可以把修改的版本提交push上来 |
@hsmyy From which epoch did you start seeing an accuracy greater than 0 ? I ran the same code with same parameters as yours but still at 0 accuracy for 34 epochs. |
@rolai 麻烦问一下你的代码现在可以启用GPU了吗?我也遇到了同样的问题,程序只用了cpu,没有使用gpu,可以正常收敛,但是比较慢 |
我现在训练启用GPU了,可以使用warpctc减少每个batch的时间。 |
@rolai 我安装的是gpu版本的tensorflow(写了简单的测试程序是可以的启用GPU的),我用的master分支上的warpctc,但是默认没有启用GPU?还需要修改代码或是额外配置什么地方吗?启用GPU后会快不少吗? |
@rolai 如果用中文训练,可以吗? |
@indra215 it takes some time, maybe 1 hour later, after the model seeking a good valley, it will drop down and acc will improve drmatically |
@junedgar 可以请问一下你具体设定了多少么,在多少epoch开始收敛么?我也碰到了不收敛的情况。 |
@rolai 您好,我遇到和您一样的问题,就是:训练accuracy一直是0,而且decoded出来只有一个相同的字符。请问您是怎么解决这个问题的呢? |
@dotsonliu 可以训练中文,中文的字典会大一点,模型和训练方法一样。 @onfdtz 多训练几个epoch,模型一开始收敛慢,耐心等待十几个epoch后出效果。另外,建议用baidu warpctc 能极大提高训练速度。 |
@hsmyy 我也调整了你说的图片大小,很快就收敛到99的精度,但是测试报错FailedPreconditionError (see above for traceback): sequence_length(0) <= 29,麻烦问一下你遇到这总情况没,怎么解决的?感谢 |
非常感谢楼主的分享,我运行测试了一下,测试结果却是:训练accuracy一直是0,而且decoded出来只有一个字符? 请问该哪里出问题了,怎么调整?
seq 0: origin: [52, 23, 35, 62, 24, 33] decoded:[26]
seq 1: origin: [54, 49, 2, 40, 26, 38] decoded:[26]
seq 2: origin: [62, 48, 10, 42, 12] decoded:[26]
seq 3: origin: [53, 54, 7, 36, 45] decoded:[26]
seq 4: origin: [35, 43, 45, 7] decoded:[26]
seq 5: origin: [44, 56, 50, 2] decoded:[26]
seq 6: origin: [53, 35, 57, 7] decoded:[26]
seq 7: origin: [58, 31, 37, 8, 43] decoded:[26]
seq 8: origin: [10, 30, 53, 38, 20, 12] decoded:[26]
seq 9: origin: [45, 45, 39, 27, 61] decoded:[26]
4-23 22:24:42 Epoch 2/10000, accuracy = 0.000,train_cost = 22.159, lastbatch_err = 0.987, time = 676.276
The text was updated successfully, but these errors were encountered: