Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Latest commit 36b1b5b Sep 10, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
annotations minor Aug 26, 2019
code minor Aug 29, 2019
data minor Aug 26, 2019
demo readme edits Sep 10, 2019
images minor Aug 26, 2019
.gitignore minor Aug 26, 2019 Update Sep 10, 2019

NanoNets OCR Python Sample

Reading Number Plates

Images and annotations taken from -

Annotations include bounding boxes for each image and have the same name as the image name. You can find the example to train a model in python, by updating the api-key and model id in corresponding file. There is also a pre-processed json annotations folder that are ready payload for nanonets api.

Build a Number Plate Recognition Model

Note: Make sure you have python and pip installed on your system if you don't visit Python pip


Step 1: Clone the Repo, Install dependencies

git clone
cd nanonets-ocr-sample-python
sudo pip install requests tqdm

Step 2: Get your free API Key

Get your free API Key from

Step 3: Set the API key as an Environment Variable


Step 4: Create a New Model

python ./code/

_Note: This generates a MODEL_ID that you need for the next step

Step 5: Add Model Id as Environment Variable


_Note: you will get YOUR_MODEL_ID from the previous step

Step 6: Upload the Training Data

The training data is found in images (image files) and annotations (annotations for the image files)

python ./code/

Step 7: Train Model

Once the Images have been uploaded, begin training the Model

python ./code/

Step 8: Get Model State

The model takes ~2 hours to train. You will get an email once the model is trained. In the meanwhile you check the state of the model

python ./code/

Step 9: Make Prediction

Once the model is trained. You can make predictions using the model

python ./code/ PATH_TO_YOUR_IMAGE.jpg

Sample Usage:

python ./code/ ./images/151.jpg

Note the python sample uses the converted json instead of the xml payload for convenience purposes, hence it has no dependencies.

You can’t perform that action at this time.