Texo-Distill GGUF β€” Printed Math OCR

GGUF-quantized versions of Texo's distilled PPFormulaNet-S model for on-device LaTeX OCR.

Model Description

Property Value
Architecture HGNetv2 (CNN encoder) + MBart (Transformer decoder)
Parameters 20M
Input 384x384 RGB image
Output LaTeX token sequence
Vocab 1264 tokens (BPE, math-specific)
Encoder HGNetv2: 4-stage CNN (Conv-BN-ReLU), output 2048-dim
Decoder MBart: 2 layers, 16 heads, d_model=384, FFN=1536
Training data UniMER-1M (CC-BY-4.0)
Distilled from PaddleOCR PP-FormulaNet-S (Apache-2.0)

Performance (UniMER-Test)

Metric SPE CPE SCE HWE
BLEU 0.9014 0.8909 0.7034 0.8606
Edit distance 0.0780 0.1042 0.1941 0.0995

Available Variants

File Quant Size Quality
texo-distill-f16.gguf FP16 39 MB Full precision
texo-distill-q8_0.gguf Q8_0 22 MB Identical to FP16
texo-distill-q4_k.gguf Q4_K 13 MB Slightly degraded

Recommended: texo-distill-q8_0.gguf (22 MB) β€” same quality as full precision at 3.6x compression.

Usage with CrispEmbed

# CLI
crispembed -m texo-distill-q8_0.gguf --ocr formula.png

# Auto-detection: the GGUF metadata identifies this as "ppformulanet" architecture
# Works with any CrispEmbed OCR endpoint (CLI, FFI, Flutter)

Image Preprocessing

The model expects UniMERNet-style preprocessing:

  1. Convert to grayscale, replicate to 3 channels
  2. Resize maintaining aspect ratio to fit 384x384
  3. Pad with black (0) to fill 384x384
  4. Normalize: mean=0.7931, std=0.1738

License

AGPL-3.0 β€” inherited from the Texo training code and distilled weights. The original PPFormulaNet-S backbone weights are Apache-2.0 (PaddleOCR), and the training data UniMER-1M is CC-BY-4.0.

Users must accept AGPL-3.0 terms before downloading.

Credits

  • Texo by Sicheng Mao β€” distillation training, architecture design
  • PaddleOCR PP-FormulaNet-S β€” backbone architecture and pretrained weights (Apache-2.0)
  • UniMERNet β€” training dataset and tokenizer (Apache-2.0 / CC-BY-4.0)
  • CrispEmbed β€” GGUF conversion and C++ inference engine

Conversion

Converted using convert-ppformulanet-to-gguf.py from CrispEmbed. BatchNorm layers folded into convolutions. Quantized with crispembed-quantize.

Downloads last month
22
GGUF
Model size
20.4M params
Architecture
ppformulanet
Hardware compatibility
Log In to add your hardware

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for cstr/texo-distill-gguf

Quantized
(1)
this model