Spaces:
Running
Running
from transformers import LayoutLMForTokenClassification, Trainer, TrainingArguments | |
from datasets import load_dataset | |
# Upewnij się, że training_data.json zawiera etykiety odpowiadające nowym polom | |
dataset = load_dataset("json", data_files="training_data.json")["train"] | |
dataset = dataset.train_test_split(test_size=0.2) | |
# Dostosuj liczbę etykiet do rozszerzonego zakresu ekstrakcji (przykładowo 15) | |
num_labels = 15 | |
model = LayoutLMForTokenClassification.from_pretrained("microsoft/layoutlmv3-base", num_labels=num_labels) | |
training_args = TrainingArguments( | |
output_dir="./layoutlmv3_finetuned", | |
per_device_train_batch_size=4, | |
per_device_eval_batch_size=4, | |
num_train_epochs=5, | |
evaluation_strategy="epoch", | |
save_strategy="epoch", | |
logging_dir="./logs", | |
logging_steps=10 | |
) | |
trainer = Trainer( | |
model=model, | |
args=training_args, | |
train_dataset=dataset["train"], | |
eval_dataset=dataset["test"] | |
) | |
trainer.train() | |
model.save_pretrained("./layoutlmv3_finetuned") | |
model.push_to_hub("kryman27/layoutlmv3-finetuned") | |