watsonyanghx / CNN_LSTM_CTC_Tensorflow

CNN+LSTM+CTC based OCR implemented using tensorflow.
MIT License
361 stars 212 forks source link

Mode: Infer does not work #14

Open anubhavrohatgi opened 6 years ago

anubhavrohatgi commented 6 years ago

I have trained the 100K images with 80:20 training to validation ratio. My model has completed 9 checkpoints. My test set consists of 40 images taken from the same validation set, just for testing the code. The test set is labeled 1 to 40. But when I pass this command :

python ./main.py --infer_dir=./imgs/infer/ \ --checkpoint_dir=./checkpoint/ \ --num_gpus=0 \ --mode=infer following error is produced :

2018-01-31 15:25:43.350523: W tensorflow/core/framework/op_kernel.cc:1198] Failed precondition: sequence_length(0) <= 12 Traceback (most recent call last): File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1350, in _do_call return fn(*args) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1329, in _run_fn status, run_metadata) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 473, in exit c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.FailedPreconditionError: sequence_length(0) <= 12 [[Node: CTCBeamSearchDecoder = CTCBeamSearchDecoder[beam_width=100, merge_repeated=false, top_paths=1, _device="/job:localhost/replica:0/task:0/device:CPU:0"](lstm/transpose_1, _arg_lstm/Fill_0_1)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "./main.py", line 185, in tf.app.run() File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 124, in run _sys.exit(main(argv)) File "./main.py", line 180, in main infer(FLAGS.infer_dir, FLAGS.mode) File "./main.py", line 155, in infer dense_decoded_code = sess.run(model.dense_decoded, feed) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 895, in run run_metadata_ptr) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1128, in _run feed_dict_tensor, options, run_metadata) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1344, in _do_run options, run_metadata) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1363, in _do_call raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.FailedPreconditionError: sequence_length(0) <= 12 [[Node: CTCBeamSearchDecoder = CTCBeamSearchDecoder[beam_width=100, merge_repeated=false, top_paths=1, _device="/job:localhost/replica:0/task:0/device:CPU:0"](lstm/transpose_1, _arg_lstm/Fill_0_1)]]

Caused by op 'CTCBeamSearchDecoder', defined at: File "./main.py", line 185, in tf.app.run() File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 124, in run _sys.exit(main(argv)) File "./main.py", line 180, in main infer(FLAGS.infer_dir, FLAGS.mode) File "./main.py", line 115, in infer model.build_graph() File "/home/anubhav/Downloads/Manish Sir/CNN_LSTM_CTC_Tensorflow-master (2)/cnn_lstm_otc_ocr.py", line 24, in build_graph self._build_train_op() File "/home/anubhav/Downloads/Manish Sir/CNN_LSTM_CTC_Tensorflow-master (2)/cnn_lstm_otc_ocr.py", line 158, in _build_train_op merge_repeated=False) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/ops/ctc_ops.py", line 273, in ctc_beam_search_decoder merge_repeated=merge_repeated)) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/ops/gen_ctc_ops.py", line 77, in _ctc_beam_search_decoder top_paths=top_paths, merge_repeated=merge_repeated, name=name) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper op_def=op_def) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3160, in create_op op_def=op_def) File "/home/anubhav/.virtualenvs/cv/local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1625, in init self._traceback = self._graph._extract_stack() # pylint: disable=protected-access

FailedPreconditionError (see above for traceback): sequence_length(0) <= 12 [[Node: CTCBeamSearchDecoder = CTCBeamSearchDecoder[beam_width=100, merge_repeated=false, top_paths=1, _device="/job:localhost/replica:0/task:0/device:CPU:0"](lstm/transpose_1, _arg_lstm/Fill_0_1)]]

How to deal with this error and correctly run the program.

For further details checkout the issue #8

jihadbourassi commented 5 years ago

Hi @anubhavrohatgi did you end up fixing the inference problem? i am facing also an inference problem i don't get an error when i run the inference code but i run it and then nothing happens could you share the fix to your problem? Thanks