This is an implementation of a simple CRF using NumPy. The model was trained and tested on OCR, a dataset for handwritten words.
http://ai.stanford.edu/~btaskar/ocr/letter.data.gz
./download.sh
python3 main.py
Train/Val/Test split: 5502/688/687
Learning rate: 0.001
Num epochs: 200
Validation accuracy: 83.81%
Test accuracy: 83.29%