lilt-infoxlm-base / README.md
manu's picture
Update README.md
8575dfa
metadata
language:
  - es
  - fr
  - ru
  - en
  - it
tags:
  - token-classification
  - fill-mask
license: mit
datasets:
  - iit-cdip

This model is the pretrained infoxlm checkpoint from the paper "LiLT: A Simple yet Effective Language-Independent Layout Transformer for Structured Document Understanding".

Original repository: https://github.com/jpWang/LiLT

To use it, it is necessary to fork the modeling and configuration files from the original repository, and load the pretrained model from the corresponding classes (LiLTRobertaLikeConfig, LiLTRobertaLikeForRelationExtraction, LiLTRobertaLikeForTokenClassification, LiLTRobertaLikeModel). They can also be preloaded with the AutoConfig/model factories as such:

from transformers import AutoModelForTokenClassification, AutoConfig

from path_to_custom_classes import (
    LiLTRobertaLikeConfig,
    LiLTRobertaLikeForRelationExtraction,
    LiLTRobertaLikeForTokenClassification,
    LiLTRobertaLikeModel
    )


def patch_transformers():
    AutoConfig.register("liltrobertalike", LiLTRobertaLikeConfig)
    AutoModel.register(LiLTRobertaLikeConfig, LiLTRobertaLikeModel)
    AutoModelForTokenClassification.register(LiLTRobertaLikeConfig, LiLTRobertaLikeForTokenClassification)
    # etc...

To load the model, it is then possible to use:

# patch_transformers() must have been executed beforehand

tokenizer = AutoTokenizer.from_pretrained("microsoft/infoxlm-base")
model = AutoModel.from_pretrained("manu/lilt-infoxlm-base")
model = AutoModelForTokenClassification.from_pretrained("manu/lilt-infoxlm-base") # to be fine-tuned on a token classification task