🚀 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许可证。