Skip to content
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

关于修改为tf.nn.ctc_loss后收敛变慢的问题 #34

Closed
phamhe opened this issue Dec 21, 2017 · 3 comments
Closed

关于修改为tf.nn.ctc_loss后收敛变慢的问题 #34

phamhe opened this issue Dec 21, 2017 · 3 comments

Comments

@phamhe
Copy link

phamhe commented Dec 21, 2017

作者你好:
我在bete版本的代码中的build_loss部分做了如下修改:
1、重新定义labels为稀疏张量
2、在获得labels时将labels转换为稀疏矩阵
3、使用之前获得的time_step_batch作为tf.nn.ctc_loss的seq_len输入
然后我将源代码中的warpctc替换为tf.nn.ctc_loss并成功跑通了网络,但是收敛的很慢(从read.me图片来看你跑了20k次就达到了96%的准确率,而我跑了35k次才勉强上90%,loss没下0.1,我没有修改代码中的参数所以我们参数应该是一样的,样本我也用的是直接生成在内存中的样本)
我想问一下:
1、是不是我还有遗漏的地方没有修改?
2、我收敛的慢是不是使用了不同的ctc函数引起的(tf.nn.ctc_loss与warpctc)

@ilovin
Copy link
Owner

ilovin commented Dec 21, 2017

如此修改,应该是没什么问题。

  1. 本来standard和warp还有一个区别,blank label不同,但是因为我代码里"NCLASSES"是直接=len+2所以应该没问题
  2. 跑出来效果有差别,二者实现上是否存在区别,我想只能看源码才能知道了,但是原理上应该是通的,都用了log。ps: 讲道理,warp只是一个并行加速的实现。

也许你可以调调参,看看能不能有所改善

@phamhe
Copy link
Author

phamhe commented Dec 25, 2017

谢谢回答,我训练完后最高的ac会在96左右,我再调调参试试,再次感谢。

@frankenliu
Copy link

@phamhe 请问这个问题解决了吗?我这边使用TensorFlow ctc loss也出现收敛很慢的情况,不知道替换warpctc能否有效?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants