layoutlmv2_cord / README.md
doc2txt's picture
Update README.md
b27b699 verified
---
license: cc-by-nc-sa-4.0
base_model: microsoft/layoutlmv2-base-uncased
tags:
- generated_from_trainer
datasets:
- cord
metrics:
- precision
- recall
- f1
- accuracy
model-index:
- name: layoutlmv2-finetuned-cord
results:
- task:
name: Token Classification
type: token-classification
dataset:
name: cord
type: cord
config: cord
split: validation
args: cord
metrics:
- name: Precision
type: precision
value: 0.9652945924132365
- name: Recall
type: recall
value: 0.9676375404530745
- name: F1
type: f1
value: 0.9664646464646465
- name: Accuracy
type: accuracy
value: 0.9702653247941445
---
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->
# overfitting issue
I use this colab:
https://colab.research.google.com/drive/1AXh3G3-VmbMWlwbSvesVIurzNlcezTce?usp=sharing
to Fine tuning LayoutLMv2ForTokenClassification on CORD dataset
here is the result:
https://huggingface.co/doc2txt/layoutlmv2-finetuned-cord
* F1: 0.9665
and indeed the result are pretty amazing when running on the test set,
however when running on any other receipt (printed or pdf) the result are completely off
So from some reason the model is overfitting to the cord dataset, even though I use similar images for testing.
I don't think that there is a **Data leakage** unless the cord DS is not clean (which I assume it is clean)
What could be the reason for this?
Is it some inherent property of LayoutLM?
The LayoutLM models are somewhat old, and it seems deserted...
I don't have much experience so I would appreciate any info
Thanks
here is an example code of how to run this model on a specific img folder:
https://huggingface.co/doc2txt/layoutlmv2-finetuned-cord/blob/main/LayoutLMv2Main_cord2_gOcr_folder.py
# layoutlmv2-finetuned-cord
This model is a fine-tuned version of [microsoft/layoutlmv2-base-uncased](https://huggingface.co/microsoft/layoutlmv2-base-uncased) on the cord dataset.
It achieves the following results on the evaluation set:
- Loss: 0.2819
- Precision: 0.9653
- Recall: 0.9676
- F1: 0.9665
- Accuracy: 0.9703
## Model description
More information needed
## Intended uses & limitations
More information needed
## Training and evaluation data
More information needed
## Training procedure
### Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 5e-05
- train_batch_size: 2
- eval_batch_size: 8
- seed: 42
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_ratio: 0.1
- num_epochs: 5
- mixed_precision_training: Native AMP
### Training results
| Training Loss | Epoch | Step | Validation Loss | Precision | Recall | F1 | Accuracy |
|:-------------:|:-----:|:----:|:---------------:|:---------:|:------:|:------:|:--------:|
| No log | 1.0 | 400 | 1.2752 | 0.8527 | 0.8382 | 0.8454 | 0.8481 |
| 1.9583 | 2.0 | 800 | 0.6372 | 0.8799 | 0.8948 | 0.8873 | 0.9021 |
| 0.7097 | 3.0 | 1200 | 0.4255 | 0.9241 | 0.9264 | 0.9253 | 0.9414 |
| 0.3845 | 4.0 | 1600 | 0.3021 | 0.9414 | 0.9482 | 0.9448 | 0.9611 |
| 0.2699 | 5.0 | 2000 | 0.2819 | 0.9653 | 0.9676 | 0.9665 | 0.9703 |
### Framework versions
- Transformers 4.37.2
- Pytorch 2.1.0+cu121
- Datasets 2.16.1
- Tokenizers 0.15.1