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

关于master版本的代码无法收敛的问题 #33

Open
ilovin opened this issue Dec 13, 2017 · 4 comments
Open

关于master版本的代码无法收敛的问题 #33

ilovin opened this issue Dec 13, 2017 · 4 comments

Comments

@ilovin
Copy link
Owner

ilovin commented Dec 13, 2017

  • 问题描述
    之前有一些同学提到master版本网络不好收敛的问题,包括accuracy = 0 and the result only contain one character after decoded #1, accuracy = 0.000 after Epoch 10000/10000 #28, master standard 跑100多轮还是acc=0 #31 等,
  • 原因
    有些人是因为没跑够,有些人因为数据问题(数据量不足,用自己的数据,生成数据错误,图片没出来等等问题),如果以上没问题,可能还是会出现不收敛的问题,我想这可能和初始化,数据,lr,优化器有关。
    anyway,master版本网络确实存在不好收敛的问题,需要细致的调参(有的时候我会看decode出的结果来调lr与decay step。但master跑的时间较长,所以大家可能跑一次不出结果就放一边了),因为它没有加入cnn提取特征,直接上lstm+ctc硬解。
  • 建议
  1. 所以我repo中默认的版本放的是beta版本,直接clone就是beta版本的代码(加了cnn),这个20分钟就能出结果,而且准确率更高,最关键的是我还没见任何人出现过无法收敛的情况。但大家还是用master的代码可能是因为不用装warpCTC以及叫master的原因?
    ps: 之所以还放着master版本的代码,只是为了自己使用方便,留个备份,看来我还是给删了好了。
  2. 对于master版本,大家也可以尝试改改网络(初始化方式什么的)
  3. 如果实在懒得装warpCTC,那么可以改beta的代码,改成standard的ctc loss,二者的区别我在readme里的blog提过了
@BrookShuihuaLee
Copy link

谢谢,我去试试beta。装warpCTC确实比较麻烦

@BrookShuihuaLee
Copy link

BrookShuihuaLee commented Dec 13, 2017

装warpctc碰到这个问题:warp-ctc/tensorflow_binding/warpctc_tensorflow/kernels.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZTIN10tensorflow8OpKernelE

把beta的代码改成这样:
self.labels = tf.sparse_placeholder(tf.int32,[None],name='labels')

ctc_loss = tf.nn.ctc_loss(labels=labels,inputs=logits_batch, sequence_length=time_step_batch)
好像也不对

beta分支没有正常的ctc吗。。。

@ilovin
Copy link
Owner Author

ilovin commented Dec 13, 2017

装的时候就报错吗?官方的test是过不了的,但是可以用
当然不是那么简单改,warp是4输入,standard 3输入,还有其他区别,blog里有说
beta是没有,因为速度慢,没有什么写的必要,所以只在master里用了一下,后来再没用过了

@BrookShuihuaLee
Copy link

上面那个是在centos里的错。。搜了一下,warpctc的issues里面有这样的问题,但是好像没人解决。
这里还有个mac上的错:
bogon:tensorflow_binding brook$ python3
Python 3.6.3 (default, Nov 15 2017, 09:52:28)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import warpctc_tensorflow
Traceback (most recent call last):
File "", line 1, in
File "/Users/brook/projects/warp-ctc/tensorflow_binding/warpctc_tensorflow/init.py", line 7, in
_warpctc = tf.load_op_library(lib_file)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/load_library.py", line 64, in load_op_library
None, None, error_msg, error_code)
tensorflow.python.framework.errors_impl.NotFoundError: dlopen(/Users/brook/projects/warp-ctc/tensorflow_binding/warpctc_tensorflow/kernels.cpython-36m-darwin.so, 6): Library not loaded: @rpath/libwarpctc.dylib
Referenced from: /Users/brook/projects/warp-ctc/tensorflow_binding/warpctc_tensorflow/kernels.cpython-36m-darwin.so
Reason: image not found

我一会儿可以试试Ubuntu。
你说的博客是这个吗?http://ilovin.me/2017-04-23/tensorflow-lstm-ctc-input-output/

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

2 participants