Trocr Catmus French 2026
Adaptateur LoRA spécialisant microsoft/trocr-base-handwritten sur la transcription de lignes de manuscrits médiévaux français (XIIIe s., gothique Textualis), entraîné sur le sous-ensemble français de CATMuS Medieval.
Model source
- Kind
- Other
- File size
- 8.08 MB
- Base model
- microsoft/trocr-base-handwritten
- Version
- vRevision b6cd046
- Updated
- Oct 10, 2026
- Downloads
- 23
- Source
- Hugging Face
Source description
TrOCR + LoRA — HTR pour manuscrits médiévaux français (CATMuS)
Adaptateur LoRA spécialisant microsoft/trocr-base-handwritten
sur la transcription de lignes de manuscrits médiévaux français (XIIIe s., gothique Textualis),
entraîné sur le sous-ensemble français de CATMuS Medieval.
Projet MD5 — Master Data/IA, HETIC (Vision par ordinateur & NLP).
Résultats (test scellé CATMuS FR complet, n=4135)
| Métrique | Valeur | IC 95 % (bootstrap) |
|---|---|---|
| CER | 14,51 % | [14,19 ; 14,85] |
| WER | 44,28 % | — |
| Baseline (sans fine-tuning) | CER 76,7 % | — |
Utilisation
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from peft import PeftModel
from PIL import Image
import torch
REPO = "FaridBenamara/trocr-catmus-french-2026" # cet identifiant
BASE = "microsoft/trocr-base-handwritten"
processor = TrOCRProcessor.from_pretrained(REPO)
base = VisionEncoderDecoderModel.from_pretrained(BASE)
tok = processor.tokenizer
for cfg in (base.config, base.generation_config):
cfg.decoder_start_token_id = tok.cls_token_id
cfg.pad_token_id = tok.pad_token_id
cfg.eos_token_id = tok.sep_token_id
base.config.vocab_size = base.config.decoder.vocab_size
model = PeftModel.from_pretrained(base, REPO).eval()
image = Image.open("ligne.png").convert("RGB")
pv = processor(images=[image], return_tensors="pt").pixel_values
ids = model.generate(pv, max_new_tokens=128)
print(processor.batch_decode(ids, skip_special_tokens=True)[0])
Entraînement
| Hyperparamètre | Valeur |
|---|---|
| Base | microsoft/trocr-base-handwritten (ViT + décodeur) |
| LoRA | r = 16, α = 32, dropout 0,05, cibles query/value/q_proj/v_proj |
| Params entraînés | 2 113 536 / 336 035 328 (0,63 %) |
| Optim | lr 1e-4, warmup 0,05, 3 epochs, batch 16, bf16 |
| Matériel | 1× A100 40 Go, ~50 min · seed 42 |
Convention semi-diplomatique (abréviations conservées, Unicode NFC).
SHA-256 du train : 11a7b277d73e53c540aba23fdd2f7533ea7068f790e16e4699a5d69fcc87c26c.
Limitations & biais
Biais 13e–15e s. / écriture Textualis ; WER élevé (une lettre fausse invalide le mot) ; qualité page-entière dépendante de la segmentation amont ; évaluation sur un échantillon de 500 lignes ; erreurs résiduelles sur lettres visuellement proches (c/e, n/u). Usage recherche non commerciale.
Citation
@misc{trocr_catmus_french_2026,
title = {TrOCR + LoRA pour la transcription de manuscrits médiévaux français (CATMuS)},
author = {Benamara, Farid and Megrad, Ouassim and Touat, Abdennour and Sellani, Khaled},
year = {2026},
note = {Master Data/IA, HETIC — Projet MD5},
howpublished = {Hugging Face Hub}
}
Dépôt code : TrOcr_NLP_HETIC_Vit_Nlp. Corpus : CATMuS/medieval.
Sources
1 source
Sources
1 sourceVerified Oct 10
Model artifacts
1 artifact
Model artifacts
1 artifactadapter_model.safetensors
safetensors · 8.08 MB · SHA-256 64f1b2233416…5043 · Hugging Face
Download fileSource excerpts
3 excerpts
Source excerpts
3 excerpts--- license: mit language: - fr library_name: peft base_model: microsoft/trocr-base-handwritten pipeline_tag: image-to-text tags: - htr - handwritten-text-recognition - trocr - lora - peft - vision-encoder-decoder - medieval - old-french - catmus - digital-humanities datasets: - CATMuS/medieval metrics: - cer - wer model-index: - name: trocr-catmus-french-2026 results: - task: type: image-to-text name: Handwritten Text Recognition dataset: name: CATMuS Medieval (French subset) type: CATMuS/medieval metrics: - type: cer value: 14.51 name: Character Error Rate (%) - type: wer value: 44.28 name: Word Error Rate (%) --- # TrOCR + LoRA — HTR pour manuscrits médiévaux français (CATMuS) Adaptateur **LoRA** spécialisant [`microsoft/trocr-base-handwritten`](https://huggingface.co/microsoft/trocr-base-handwritten) sur la transcription de **lignes** de manuscrits médiévaux **français** (XIIIᵉ s., gothique *Textualis*), entraîné sur le sous-ensemble français de **CATMuS Medieval**. Projet **MD5** — Master Data/IA, HETIC (Vision par ordinateur & NLP). ## Résultats (test scellé CATMuS FR **complet**, n=4135) | Métrique | Valeur | IC 95 % (bootstrap) | |---|---|---| | **CER** | **14,51 %** | [14,19 ; 14,85] | | WER | 44,28 % | — | | Baseline (sans fine-tuning) | CER 76,7 % | — | ## Utilisation ```python from transformers import TrOCRProcessor, VisionEncoderDecoderModel from peft import PeftModel from PIL import Image import torch REPO = "FaridBenamara/trocr-catmus-french-2026" # cet identifiant BASE = "microsoft/trocr-base-handwritten" processor = TrOCRProcessor.from_pretrained(REPO) base = VisionEncoderDecoderModel.from_pretrained(BASE) tok = processor.tokenizer for cfg in (base.config, base.generation_config): cfg.decoder_start_token_id = tok.cls_token_id cfg.pad_token_id = tok.pad_token_id cfg.eos_token_id = tok.sep_token_id base.config.vocab_size = base.config.decoder.vocab_size model = PeftModel.from_pretrained(base, REPO).eval() image = Image.open("ligne.png").convert("RGB") pv = processor(images=[image], return_tensors="pt").pixel_values ids = model.generate(pv, max_new_tokens=128) print(processor.batch_decode(ids, skip_special_tokens=True)[0]) ``` ## Entraînement | Hyperparamètre | Valeur | |---|---| | Base | `microsoft/trocr-base-handwritten` (ViT + décodeur) | | LoRA...
Source context: 23 downloads · 0 likes · Pipeline image-to-text · Library peft · Repo FaridBenamara/trocr-catmus-french-2026
Source context: 29 downloads · 0 likes · Pipeline image-to-text · Library peft · Repo FaridBenamara/trocr-catmus-french-2026
