Skip to content
A TensorFlow implementation of
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
requirements.txt Bump pillow from 6.1.0 to 6.2.0 Nov 3, 2019


A TensorFlow implementation of

But what is a CRNN?

It is a Convolutional Recurrent Neural Network that can be used as an OCR


  • Tensorflow (tested with 1.8) pip3 install tensorflow
  • Scipy pip3 install scipy

What training data was used?

All training data (200 000 examples) were generated using my other project

To do the same, simply install that project with pip (pip install trdg) and do trdg -c 200000 -w 1 -t 8. -t should be your processor thread count.

Pretrained model

Available in CRNN/save. Use python3 -ex ../data/test --test --restore to test.

Specify charset

You can specify charset to include only numbers python --train -ex ../data/test -it 50000 -cs 0123456789


It works but is a suboptimal solution for OCR in its current form as it makes some mistakes. Do note that I used a bigger char vector than the paper.

For fun, here are a list of words with their prediction:

Ground truth Prediction Image
retardates retardates 1
pay-roller poy-roler 2
rhizopodist rhizospodist 3
theriacas trenagas 4
semantically semanticaly 5
dualistic duaistic 6
high-flying highi-fling 7
grossify grsity 8
scutular scutular 9
crispened crispened 10
You can’t perform that action at this time.