🚀 trocr-base-handwritten_nj_biergarten_captcha_v2 モデルカード
このモデルはCAPTCHAの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
をベースに、独自のデータセット phunc20/nj_biergarten_captcha_v2
でファインチューニングされた、CAPTCHAのOCR用のモデルです。
📦 インストール
必要なライブラリは transformers
です。以下のコマンドでインストールできます。
pip install 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
では良好な性能を示しますが、すべてのCAPTCHA画像に対して同じような性能を発揮するわけではありません。この点で、人間よりも劣っています。
推奨事項
ユーザー(直接的なユーザーと下流のユーザー)は、このモデルのリスク、バイアス、制限事項を認識する必要があります。さらなる推奨事項については、より多くの情報が必要です。
学習の詳細
学習データ
このモデルは、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、完全一致、平均長差です。前2つはHuggingFaceのドキュメントに記載されています。最後の1つは、私が少し気にかけている指標です。理解しやすく、必要であれば、ソースコード 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 et al. (2019) で提示された Machine Learning Impact calculator を使用して推定できます。
- ハードウェアタイプ: [詳細情報が必要です]
- 使用時間: [詳細情報が必要です]
- クラウドプロバイダー: [詳細情報が必要です]
- コンピュートリージョン: [詳細情報が必要です]
- 排出された炭素量: [詳細情報が必要です]
📄 ライセンス
このモデルはGPL-3.0ライセンスの下で提供されています。