yalecyu / crnn.caffe

crnn.caffe
Other
76 stars 51 forks source link

你好,想问下和warpctc-caffe的区别 #1

Closed piaobuliao closed 7 years ago

piaobuliao commented 7 years ago

想问下你的项目下的https://github.com/yalecyu/crnn.caffe/tree/master/src 和https://github.com/xmfbit/warpctc-caffe/tree/master/src 有区别吗?

yalecyu commented 7 years ago

caffe环境上和warpctc-caffe没有区别,网络框架是 cnn-lstm-ctc,warpctc-caffe是 lstm-ctc,所以 tree/master/src 是没有区别的

piaobuliao commented 7 years ago

哦,谢谢,好像warpctc-caffe的输入LSTM的就直接是原图哦,那你这个网络结构和 https://github.com/dlunion/CaffeLSTM-OCR 的识别验证码的差不多,不过我现在在用https://github.com/dlunion/CaffeLSTM-OCR 做,它那个项目输入LSTM的没有像你一样有个Reshape层,但是也是能收敛的哦,你具体可以看下 https://github.com/dlunion/CaffeLSTM-OCR/issues/1 我的问题哦

yalecyu commented 7 years ago

Reshape层只是reshape对网络效果没有影响。这个是cnn处理图像得到特征向量输入到LSTM

piaobuliao commented 7 years ago

你这个输入LSTM的Shape是 32x64x512 (time_step:32 batch_size:64) CaffeLSTM-OCR 的输入LSTM的Shape 19 1 512 8 (time_step:19 batch_size:1)

https://zhuanlan.zhihu.com/p/28054589 按照这里介绍RNN结构的,你的这个输入xi是1x512的,而CaffeLSTM-OCR 的输入是1x512x8的? 还是就是1*512的(后面8的信息没了)? 不知道LSTM的输入到底是需要什么Shape哦。

piaobuliao commented 7 years ago

那输入LSTM的只是是向量? 2D的矩阵不行的吗? 还有你做车牌识别的话 time_step是设置了为32喽?我现在在搞银行卡号识别,time_step设置八九十收敛很慢,设置四五十好像识别率又不是很高

yalecyu commented 7 years ago

因为某个维度为1,就可以把这个维度删掉了,我的reshape做得是这个工作。cnn的输出是64x512x1x32(Batch_sizie x num_output x h x w)

piaobuliao commented 7 years ago

那假如cnn的输出是64x512x4x32(Batch_sizie x num_output x h x w) ,那经过permuted_data层输入LSTM的是32x64x512x4,这样也是可以的吗?

yalecyu commented 7 years ago

我觉得可以,你可以试试。