In this example, you will get used to a lot of techniques, from training a model (Text Detection) to implement an ML service with cache, preloaded model, along with callback and websocket architectural styles.
In this section, you will train a text detection model, which will be used further as a component in EasyOCR, which is an end-to-end OCR pipeline.
The dataset used for training was taken from this awesome github repository.
To start training, you will run the following commands:
cd craft
CUDA_VISIBLE_DEVICES=0 python3 train.py --yaml=custom_data_train
Note:
- Remember to install all the necessary libraries before training.
- This code requires GPU for training, you can make use of https://colab.google/ for this.
The model after being trained, i.e, craft_mlt_25k.pth
should be saved in to ./model_storage/model
due to EasyOCR configuration,
after that, you can start your server as usual by running the following commands:
uvicorn main:app --host 0.0.0.0 --port 8081
or these commands for preloaded model
uvicorn main_preloaded:app --host 0.0.0.0 --port 8081