Model reference · open weights

crnn-fa

LLMs hezarai Image→text 1 build Open weights 3k dl/mo

crnn-fa is an open-weight language model from hezarai. crnn-base-fa-v2 (BF16) weighs 37 MB; the smallest configuration that runs it is RTX 3060 12 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • crnn-fa is an image-to-text model developed by hezarai for Persian OCR.
  • It uses a CNN and LSTM architecture and is optimized for printed or scanned documents with text lengths up to approximately 50 characters.
  • The model supports numbers and special characters and is released under the Apache 2.0 license.

Summary of the hezarai/crnn-base-fa-v2 model card, 2026-10-01

What it is

Released byhezarai
Released2023-11-27
VRAM37 MB for the weights

What it runs on

Memory and cards for crnn-base-fa-v2 (BF16)

37 MBweights, file size
762 MBruntime overhead, at least

How much memory each request adds isn't estimated yet for this architecture. The weights need at least the cards below, plus room for the context.

CardWeights alone
RTX 3060 12 GBfits
RTX 4060 Ti 16 GBfits
RTX 3090 24 GBfits
RTX 4090 24 GBfits
RTX 5090 32 GBfits
L40S 48 GBfits
A100 80 GBfits
H100 80 GBfits
RTX PRO 6000 Blackwell 96 GBfits
DGX Spark (GB10) 128 GB unifiedfits
H200 141 GBfits
B200 180 GBfits

From the model card

What hezarai says about crnn-fa

Read the model card

A CRNN model for Persian OCR. This model is based on a simple CNN + LSTM architecture inspired by this paper.

This is a successor model to our previous model hezarai/crnn-base-fa-v1. The improvements include:

  • 5X larger dataset
  • Change input image size from 64x256 to 32x384
  • Increase max output length from 64 to 96 (Max length of the samples in the dataset was 48 to handle CTC loss issues)
  • Support numbers and special characters (see id2label in model_config.yaml)
  • Auto-handling of LTR characters like digits in between the text

Note that this model is only optimized for printed/scanned documents and works best on texts with a length of up to 50-ish characters. (For an end-to-end OCR pipeline, use a text detector model first like https://huggingface.co/hezarai/CRAFT to extract text boxes preferrably in word-level and then use this model), but it can be used to be fine-tuned on other domains like license plate or handwritten texts.

Usage
pip install hezar
from hezar.models import Model

crnn = Model.load("hezarai/crnn-base-fa-v2")
texts = crnn.predict(["sample_image.jpg"])
print(texts)

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

How it works

How language models work

Your prompttext / messagesTransformerattention over tokensNext-token loopgenerate + streamResponsetext · tool callsA language model reads your tokens and predicts the next one, again and again, streaming the reply back.
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms