🚀 trocr-base-handwritten_nj_biergarten_captcha_v2模型卡
這是一個用於驗證碼光學字符識別(OCR)的模型,它基於特定數據集微調而來,能有效識別特定類型的驗證碼。
🚀 快速開始
使用以下代碼即可開始使用該模型:
import torch
if torch.cuda.is_available():
device = torch.device("cuda")
else:
device = torch.device("cpu")
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
hub_dir = "phunc20/trocr-base-handwritten_nj_biergarten_captcha_v2"
processor = TrOCRProcessor.from_pretrained(hub_dir)
model = VisionEncoderDecoderModel.from_pretrained(hub_dir)
model = model.to(device)
from PIL import Image
image = Image.open("/path/to/image")
pixel_values = processor(image, return_tensors='pt').pixel_values
pixel_values = pixel_values.to(device)
outputs = model.generate(pixel_values)
pred_str = processor.batch_decode(outputs, skip_special_tokens=True)[0]
✨ 主要特性
- 基於
microsoft/trocr-base-handwritten
模型微調,在特定驗證碼數據集上表現良好。
- 可用於驗證碼的光學字符識別任務。
📦 安裝指南
文檔未提及具體安裝步驟,可參考transformers
庫的安裝方式。
💻 使用示例
基礎用法
import torch
if torch.cuda.is_available():
device = torch.device("cuda")
else:
device = torch.device("cpu")
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
hub_dir = "phunc20/trocr-base-handwritten_nj_biergarten_captcha_v2"
processor = TrOCRProcessor.from_pretrained(hub_dir)
model = VisionEncoderDecoderModel.from_pretrained(hub_dir)
model = model.to(device)
from PIL import Image
image = Image.open("/path/to/image")
pixel_values = processor(image, return_tensors='pt').pixel_values
pixel_values = pixel_values.to(device)
outputs = model.generate(pixel_values)
pred_str = processor.batch_decode(outputs, skip_special_tokens=True)[0]
📚 詳細文檔
模型詳情
模型描述
這是一個簡單的模型,它基於microsoft/trocr-base-handwritten
在我創建的數據集phunc20/nj_biergarten_captcha_v2
上進行了微調。
用途
直接使用
上述代碼展示瞭如何直接使用該模型進行驗證碼識別。
偏差、風險和侷限性
儘管該模型在數據集phunc20/nj_biergarten_captcha_v2
上表現良好,但在所有驗證碼圖像上的表現並不理想。在這方面,該模型不如人類。
建議
用戶(直接用戶和下游用戶)應該瞭解該模型的風險、偏差和侷限性。如需進一步建議,還需要更多信息。
訓練詳情
訓練數據
如前所述,我在phunc20/nj_biergarten_captcha_v2
數據集上訓練了這個模型。具體來說,我在train
分割集上進行訓練,並在validation
分割集上進行評估,未使用test
分割集。
訓練過程
請參考https://gitlab.com/phunc20/captchew/-/blob/main/colab_notebooks/train_from_pretrained_Seq2SeqTrainer_torchDataset.ipynb?ref_type=heads,該代碼改編自https://github.com/NielsRogge/Transformers-Tutorials/blob/master/TrOCR/Fine_tune_TrOCR_on_IAM_Handwriting_Database_using_Seq2SeqTrainer.ipynb。
評估
測試數據、因素和指標
測試數據
phunc20/nj_biergarten_captcha_v2
的test
分割集。
- Kaggle數據集https://www.kaggle.com/datasets/fournierp/captcha-version-2-images/data(在本模型卡中,我們將該數據集稱為
kaggle_test_set
)。
因素
[需要更多信息]
指標
字符錯誤率(CER)、完全匹配率和平均長度差異。前兩個指標可在HuggingFace的文檔中找到。最後一個指標是我比較關注的一個指標,它很容易理解,如果需要,可以在源代碼https://gitlab.com/phunc20/captchew/-/blob/v0.1/average_length_difference.py中找到解釋。
結果
在phunc20/nj_biergarten_captcha_v2
的test
分割集上:
模型 |
字符錯誤率(CER) |
完全匹配率 |
平均長度差異 |
phunc20/trocr-base-handwritten_nj_biergarten_captcha_v2 |
0.001333 |
496/500 |
1/500 |
microsoft/trocr-base-handwritten |
0.9 |
5/500 |
2.4 |
在kaggle_test_set
上:
模型 |
字符錯誤率(CER) |
完全匹配率 |
平均長度差異 |
phunc20/trocr-base-handwritten_nj_biergarten_captcha_v2 |
0.4381 |
69/1070 |
0.1289 |
microsoft/trocr-base-handwritten |
1.0112 |
17/1070 |
2.4439 |
環境影響
可以使用Lacoste等人(2019)提出的機器學習影響計算器來估算碳排放。
- 硬件類型:[需要更多信息]
- 使用時長:[需要更多信息]
- 雲服務提供商:[需要更多信息]
- 計算區域:[需要更多信息]
- 碳排放:[需要更多信息]
📄 許可證
本項目採用GPL-3.0許可證。