🚀 芬蘭19世紀法庭記錄手寫文本識別模型
該模型用於從文本行圖像中進行手寫文本識別。它通過對微軟的TrOCR模型進行微調訓練,使用了數字化的19世紀芬蘭語和瑞典語法庭記錄文檔。
🚀 快速開始
此模型可按以下代碼預測圖像中的文本內容。若有可用的GPU,建議在推理時使用。
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image
import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model_checkpoint = "Kansallisarkisto/court-records-htr"
line_image_path = "/path/to/textline_image.jpg"
processor = TrOCRProcessor.from_pretrained(model_checkpoint)
model = VisionEncoderDecoderModel.from_pretrained(model_checkpoint).to(device)
image = Image.open(line_image_path).convert("RGB")
pixel_values = processor(image, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values.to(device))
generated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(generated_text)
從HuggingFace Hub下載的模型會本地保存到 ~/.cache/huggingface/hub/
。
✨ 主要特性
- 該模型針對特定類型的19世紀數據進行手寫文本識別訓練。
- 輸入為文本行圖像。
📚 詳細文檔
預期用途與限制
- 該模型針對特定類型的19世紀數據進行手寫文本識別訓練,對其他數據集的泛化能力可能較差。
- 模型輸入為文本行圖像,不建議使用其他類型的輸入。
訓練數據
模型使用了來自19世紀法庭記錄的314,228張文本行圖像進行訓練,驗證數據集包含39,042張文本行圖像。
訓練過程
該模型使用NVIDIA RTX A6000 GPU進行訓練,使用了以下超參數:
- 訓練批次大小:24
- 訓練輪數:13
- 優化器:AdamW
- 文本序列最大長度:64
其他參數使用默認值(更多信息請見此處)。訓練代碼可在 train_trocr.py
文件中找到。
評估結果
使用驗證數據集的評估結果如下:
驗證損失 |
驗證字符錯誤率(CER) |
驗證詞錯誤率(WER) |
0.248 |
0.024 |
0.113 |
這些指標使用 Evaluate 庫計算得出。關於CER指標的更多信息可在此處找到,關於WER指標的更多信息可在此處找到。
🔧 技術細節
屬性 |
詳情 |
基礎模型 |
microsoft/trocr-base-handwritten |
任務類型 |
圖像轉文本 |
評估指標 |
字符錯誤率(CER)、詞錯誤率(WER) |
📄 許可證
本項目採用MIT許可證。