unilm LayoutLM文档分类

b91juud3  于 5个月前  发布在  其他
关注(0)|答案(3)|浏览(72)

模型:LayoutLM
我使用自己的数据集对模型进行了微调,该数据集包含几个类别的表单。为了创建hOCR XML,我使用了Tesseract。

**第一次测试:**3个类别,每个类别100个例子 => 93.3%准确率

训练集:80%/测试集:15%/验证集:5%

**第二次测试:**3个类别,每个类别200个例子 => 70%准确率

训练集:80%/测试集:15%/验证集:5%

**第三次测试:**3个类别(与第一次测试相同)和每个类别3000个例子 => 33.3%准确率

在训练过程中,模型没有提高,每个epoch的准确率都相同。
训练集:80%/测试集:15%/验证集:5%

python run_classification.py --data_dir data_folder 
--model_type layoutlm 
--model_name_or_path model_folder 
--output_dir output 
--do_lower_case 
--max_seq_length 512 
--do_train 
--do_eval 
--num_train_epochs 40.0 
--logging_steps 5000 
--save_steps 5000 
--per_gpu_train_batch_size 2 
--per_gpu_eval_batch_size 2 
--evaluate_during_training 
--fp16 
--overwrite_output_dir
llycmphe

llycmphe1#

在进行分类任务时,你是否考虑过512个令牌的限制?

ibps3vxo

ibps3vxo2#

你好,我也想使用LayoutLM进行自定义文档分类,共分为20个类别。请指导我正确的方法,或者提供一个帮助笔记本开始。谢谢!

des4xlb0

des4xlb03#

请仔细阅读以下代码片段,因为LayoutLM现在位于transformers库中。

from transformers import LayoutLMTokenizer, LayoutLMForSequenceClassification
import torch

tokenizer = LayoutLMTokenizer.from_pretrained('microsoft/layoutlm-base-uncased')
model = LayoutLMForSequenceClassification.from_pretrained('microsoft/layoutlm-base-uncased')

words = ["Hello", "world"]
normalized_word_boxes = [637, 773, 693, 782], [698, 773, 733, 782]
token_boxes = []
for word, box in zip(words, normalized_word_boxes):
    word_tokens = tokenizer.tokenize(word)
    token_boxes.extend([box] * len(word_tokens))

### add bounding boxes of cls + sep tokens

token_boxes = [[0, 0, 0, 0]] + token_boxes + [[1000, 1000, 1000, 1000]]
encoding = tokenizer(' '.join(words), return_tensors="pt")
input_ids = encoding["input_ids"]
attention_mask = encoding["attention_mask"]
token_type_ids = encoding["token_type_ids"]
bbox = torch.tensor([token_boxes])
sequence_label = torch.tensor([1])
outputs = model(input_ids=input_ids, bbox=bbox, attention_mask=attention_mask, token_type_ids=token_type_ids,
                labels=sequence_label)
loss = outputs.loss
logits = outputs.logits

参考文档:https://huggingface.co/transformers/model_doc/layoutlm.html

相关问题