/ Модель

Характеристики

Параметры
184 млн
Лицензия
Apache 2.0
Архитектура
persianocr · dense
Опубликована
18 сен 2025

Persian_OCR

Описание изображенийИзображение → текст7 профессий

Модель WeightedAI Persian-OCR распознаёт персидский текст на изображениях с помощью архитектуры CNN и Transformer.

191скачиваний за 30 дней12лайковвеса обновлены29 сен 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Persian-OCR от WeightedAI — модель оптического распознавания символов, предназначенная для извлечения персидского текста из изображений. Она использует архитектуру CNN и Transformer с обучением по функции потерь CTC; в репозитории представлены веса PyTorch и словарь символов. Модель содержит 183,5 млн параметров.

Для обучения использовался пользовательский синтетический набор примерно из 600 тысяч изображений персидского текста, созданных на основе Википедии с 49 шрифтами; длина последовательностей составляла от 0 до 150 символов. В README заявлена точность последовательности 96% на этом наборе. Модель подходит для распознавания персидских надписей и страниц, но для реальных изображений может потребоваться дополнительная настройка. Лицензия — Apache-2.0.

Сценарии применения

  • распознавание персидского текста на сканах
  • извлечение персидских надписей с изображений
  • оцифровка страниц с персидским текстом

Ограничения

Обучение проводилось на синтетических изображениях, поэтому для реальных данных может понадобиться дообучение; заявленная точность относится к синтетическому набору.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Persian-OCR

Persian-OCR is a deep learning model for Optical Character Recognition (OCR), designed specifically for Persian text.
The model employs a CNN + Transformer architecture trained with CTC loss to extract text from images.

The model was trained on a custom dataset of approximately 600,000 synthetic Persian text images.
These images were generated from Wikipedia text using 49 different Persian fonts, with sequence lengths ranging from 0 to 150 characters.

On this dataset, the model achieves a sequence accuracy of 96%.

The model may benefit from further fine-tuning on real-world data, and contributions or collaborations are warmly welcomed.

🤝 Contributing

Contributions are welcome! If you have a dataset of real-world Persian text or improvements to the model, please open an issue or submit a pull request.

📬 Contact

For collaboration or inquiries, please reach out via farbodpya@gmail.com

Files

  • pytorch_model.bin : PyTorch model weights
  • vocab.json : Character vocabulary
  • model.py : Python script defining the CNN + Transformer OCR model
  • utils.py : Utility functions for OCR, including ocr_page and load_vocab
  • config.json : Model configuration

Installation

pip install torch torchvision huggingface_hub

Usage


import torch
import json
import sys
import importlib.util
from huggingface_hub import hf_hub_download

# 1️⃣ Load vocab
vocab_path = hf_hub_download("farbodpya/Persian-OCR", "vocab.json")
with open(vocab_path, "r", encoding="utf-8") as f:
    vocab = json.load(f)
idx_to_char = {int(k): v for k, v in vocab["idx_to_char"].items()}

# 2️⃣ Import model.py 
model_file = hf_hub_download("farbodpya/Persian-OCR", "model.py")
spec_model = importlib.util.spec_from_file_location("model", model_file)
model_module = importlib.util.module_from_spec(spec_model)
sys.modules["model"] = model_module
spec_model.loader.exec_module(model_module)
from model import CNN_Transformer_OCR

# 3️⃣ Import utils.py 
utils_file = hf_hub_download("farbodpya/Persian-OCR", "utils.py")
spec_utils = importlib.util.spec_from_file_location("utils", utils_file)
utils_module = importlib.util.module_from_spec(spec_utils)
sys.modules["utils"] = utils_module
spec_utils.loader.exec_module(utils_module)
from utils import ocr_page

# 4️⃣ Load model weights
weights_path = hf_hub_download("farbodpya/Persian-OCR", "pytorch_model.bin")
model = CNN_Transformer_OCR(num_classes=len(idx_to_char)+1)
model.load_state_dict(torch.load(weights_path, map_location="cpu"))
model.eval()

# 5️⃣ Run OCR on an image
img_path = "sample.png"  # replace with your own image
text = ocr_page(img_path, model, idx_to_char)
print("\n=== Final OCR Page ===\n", text)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Архитектура persianocr неизвестна transformers в образе рантайма.

Класс архитектуры
PersianOCRModel
Ревизия весов
d7edaf2

0 моделей