YIYIMZ / my_orc_keras_verification_code_identification

本项目实现了ocr主流算法gru/lstm+ctc+cnn架构,进行不定长度验证码识别,达到不分割字符而识别验证码内容的效果。验证码内容包含了大小字母以及数字,并增加点、线、颜色、位置、字体等干扰项。本项目对gru +ctc+cnn、lstm+ctc+cnn、cnn三种架构进行了对比,实践说明同等训练下gru/lstm+ctc+cnn架构准确率和速度均明显优于cnn架构,gru +ctc+cnn优于lstm+ctc+cnn,在实验2500个样本数据200轮训练时,gru +ctc+cnn架构在500样本测试准确率达90.2%。本项目技术能够训练长序列的ocr识别,更换数据集和相关调整,即可用于比如身份证号码、车牌、手机号、邮编等识别任务,也可用于汉字识别。
239 stars 97 forks source link

请问我这个错误是怎么回事,找了好久还是解决不了 #7

Open gonggtao opened 5 years ago

gonggtao commented 5 years ago

2019-04-22 10:46:08.222826: W tensorflow/core/framework/op_kernel.cc:1401] OP_REQUIRES failed at ctc_loss_op.cc:168 : Invalid argument: Saw a non-null label (index >= num_classes - 1) following a null label, batch: 0 num_classes: 10 labels: 1 Traceback (most recent call last): File "E:/Python/HandChracterRecognition/HandChracterRecognition.py", line 97, in train() File "E:/Python/HandChracterRecognition/HandChracterRecognition.py", line 91, in train verbose = 1) File "E:\Python Edition\lib\site-packages\keras\engine\training.py", line 1039, in fit validation_steps=validation_steps) File "E:\Python Edition\lib\site-packages\keras\engine\training_arrays.py", line 199, in fit_loop outs = f(ins_batch) File "E:\Python Edition\lib\site-packages\keras\backend\tensorflow_backend.py", line 2715, in call return self._call(inputs) File "E:\Python Edition\lib\site-packages\keras\backend\tensorflow_backend.py", line 2675, in _call fetched = self._callable_fn(*array_vals) File "E:\Python Edition\lib\site-packages\tensorflow\python\client\session.py", line 1439, in call run_metadata_ptr) File "E:\Python Edition\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 528, in exit c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.InvalidArgumentError: Saw a non-null label (index >= num_classes - 1) following a null label, batch: 0 num_classes: 10 labels: 1 [[{{node ctc/CTCLoss}}]]

我使用的是lstm代码,用于识别数字验证码,因此char_set = '0123456789',训练的图片是用四位数字验证码,求解决

gonggtao commented 5 years ago

@YIYIMZ 十分感谢,你写的ctc代码非常简洁明了,对我这个初学者帮助很大!

stringk245 commented 5 years ago

@YIYIMZ 十分感谢,你写的ctc代码非常简洁明了,对我这个初学者帮助很大!

2019-04-22 10:46:08.222826: W tensorflow/core/framework/op_kernel.cc:1401] OP_REQUIRES failed at ctc_loss_op.cc:168 : Invalid argument: Saw a non-null label (index >= num_classes - 1) following a null label, batch: 0 num_classes: 10 labels: 1 Traceback (most recent call last): File "E:/Python/HandChracterRecognition/HandChracterRecognition.py", line 97, in train() File "E:/Python/HandChracterRecognition/HandChracterRecognition.py", line 91, in train verbose = 1) File "E:\Python Edition\lib\site-packages\keras\engine\training.py", line 1039, in fit validation_steps=validation_steps) File "E:\Python Edition\lib\site-packages\keras\engine\training_arrays.py", line 199, in fit_loop outs = f(ins_batch) File "E:\Python Edition\lib\site-packages\keras\backend\tensorflow_backend.py", line 2715, in call return self._call(inputs) File "E:\Python Edition\lib\site-packages\keras\backend\tensorflow_backend.py", line 2675, in _call fetched = self._callable_fn(*array_vals) File "E:\Python Edition\lib\site-packages\tensorflow\python\client\session.py", line 1439, in call run_metadata_ptr) File "E:\Python Edition\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 528, in exit c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.InvalidArgumentError: Saw a non-null label (index >= num_classes - 1) following a null label, batch: 0 num_classes: 10 labels: 1 [[{{node ctc/CTCLoss}}]]

我使用的是lstm代码,用于识别数字验证码,因此char_set = '0123456789',训练的图片是用四位数字验证码,求解决

你知道 主函数入口在哪麽?