|
|
|
|
|
""" |
|
|
Configuraci贸n y constantes del proyecto |
|
|
""" |
|
|
|
|
|
|
|
|
HUGGINGFACE_MODEL = "lucasgagneten/layoutlmv3-argentine-invoices" |
|
|
|
|
|
|
|
|
LABEL_LIST = [ |
|
|
'B-ALICUOTA', |
|
|
'B-COMPROBANTE_NUMERO', |
|
|
'B-CONCEPTO_GASTO', |
|
|
'B-FECHA', |
|
|
'B-IVA', |
|
|
'B-JURISDICCION_GASTO', |
|
|
'B-NETO', |
|
|
'B-PROVEEDOR_CUIT', |
|
|
'B-PROVEEDOR_RAZON_SOCIAL', |
|
|
'B-TIPO', |
|
|
'B-TOTAL', |
|
|
'I-COMPROBANTE_NUMERO', |
|
|
'I-CONCEPTO_GASTO', |
|
|
'I-JURISDICCION_GASTO', |
|
|
'I-PROVEEDOR_CUIT', |
|
|
'I-PROVEEDOR_RAZON_SOCIAL', |
|
|
'I-TOTAL', |
|
|
'O' |
|
|
] |
|
|
|
|
|
|
|
|
ID2LABEL = {i: label for i, label in enumerate(LABEL_LIST)} |
|
|
LABEL2ID = {label: i for i, label in enumerate(LABEL_LIST)} |
|
|
|
|
|
|
|
|
COLOR_PALETTE = [ |
|
|
'red', 'blue', 'green', 'purple', 'orange', 'brown', 'pink', 'cyan', |
|
|
'lime', 'olive', 'teal', 'magenta', 'navy', 'maroon', 'gold', 'silver', |
|
|
'indigo', 'turquoise' |
|
|
] |
|
|
|
|
|
|
|
|
def get_label_colors(): |
|
|
"""Genera el mapeo de etiquetas ra铆z a colores.""" |
|
|
root_labels = set() |
|
|
for label in LABEL_LIST: |
|
|
if label != 'O': |
|
|
root_label = label.split('-', 1)[-1] |
|
|
root_labels.add(root_label) |
|
|
|
|
|
label2color = {} |
|
|
for i, root_label in enumerate(sorted(list(root_labels))): |
|
|
label2color[root_label] = COLOR_PALETTE[i % len(COLOR_PALETTE)] |
|
|
|
|
|
return label2color |
|
|
|
|
|
LABEL2COLOR = get_label_colors() |
|
|
|
|
|
|
|
|
MAX_LENGTH = 512 |
|
|
NORMALIZATION_FACTOR = 1000 |