You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

SLANeXt_wired_bo_ft

Finetuned SLANeXt_wired for wired bordered administrative tables (Bulletin Officiel / legal gazette style). Trained exclusively on public table datasets โ€” no BO ground truth in the training mix.

Base model PaddlePaddle/SLANeXt_wired
Algorithm SLANeXt + Vary_VIT_B backbone
Task Wired table structure recognition โ†’ HTML
Resolution 512ร—512
Training run bo_ft_gpu_v7
Pipeline PaddleOCR Table Recognition v2 (wired-only)

Model description

This checkpoint is the table structure component of the TableDetectionRec pipeline. It predicts HTML table structure (<table>, <tr>, <td>, spans) from cropped table images. Companion models (not included here) handle cell detection (RT-DETR-L_wired_table_cell_det) and OCR (PP-OCRv4).

Design choices:

  • Wired-only โ€” skips wired/wireless classification (force_wired: true)
  • Dynamic orientation โ€” auto-detect 0ยฐ/90ยฐ/180ยฐ/270ยฐ at inference
  • Encoder freeze โ€” first 10 of 12 Vary_VIT_B blocks frozen during finetune
  • Early stopping โ€” patience=5 on validation structure accuracy

Training curriculum

4-stage curriculum

Stage Name Dataset(s) Weight Train cap Best val acc Best epoch Early stop
1 structure FinTabNet 40% 20,000 69.3% 15 yes
2 geometry PubTables (filtered) 30% 40,000 95.0% 6 yes
3 relations SciTSR 15% 8,000 95.0% 6 yes
4 noise ICDAR + Marmot 15% 7,000 95.0% 6 yes

Validation accuracy by stage

Stage 2 training curves

Hyperparameters

Parameter Value
Batch size 8
Learning rate 1e-4 (AdamW + cosine)
Max epochs / stage 20
Val split 5%
Seed 42
Backbone freeze 10 / 12 blocks

Augmentations

Border removal, spacing jitter, ยฑ2ยฐ rotation, text stretch, line dropout, brightness/contrast jitter.

Dataset statistics (profiling sample)

Dataset Samples profiled Mean cells Median cells Max cells Span fraction
FinTabNet 500 16.0 16 16 0.0
PubTables 500 5.0 5 5 1.0
SciTSR 50 4.0 4 4 0.0
ICDAR 100 19.3 18 30 0.0
Marmot 2,000 16.0 16 16 0.0

Repository layout

inference/
  inference.pdiparams   # Paddle inference weights (~348 MB)
  inference.json        # Model graph
  inference.yml         # PaddleOCR deploy config
  config.json           # Pre/post-processing config
plots/
  01_train_val_loss.svg
  02_table_acc.svg
  04_stage_timeline.svg
metrics.json            # Full training metrics

Usage

TableDetectionRec pipeline

# TableDetectionRec/config/table_recognition.yaml
pipeline:
  force_wired: true
  table_structure_model_dir: finetune/models/best/inference
cd TableDetectionRec
python scripts/02_run_table_recognition.py --run-dir <run_dir> --device gpu:0

PaddleOCR standalone

from paddleocr import TableStructureRecognition

model = TableStructureRecognition(
    model_name="SLANeXt_wired",
    model_dir="./inference",  # path to downloaded inference/ folder
)
output = model.predict(input="table_crop.png", batch_size=1)
for res in output:
    res.print()
    res.save_to_json("./output/res.json")

Download from Hub

huggingface-cli download AvoCahDoe/SLANeXt_wired_bo_ft --local-dir ./SLANeXt_wired_bo_ft

Evaluation metrics (full)

See metrics.json for stage results and dataset profiling stats.

{
  "stages": [
    {
      "stage": 1,
      "name": "structure",
      "best_acc": 0.692999999307,
      "best_epoch": 15,
      "stopped_early": true,
      "n_train": 19000
    },
    {
      "stage": 2,
      "name": "geometry",
      "best_acc": 0.95,
      "best_epoch": 6,
      "stopped_early": true,
      "n_train": 38000
    },
    {
      "stage": 3,
      "name": "relations",
      "best_acc": 0.95,
      "best_epoch": 6,
      "stopped_early": true,
      "n_train": 845
    },
    {
      "stage": 4,
      "name": "noise",
      "best_acc": 0.95,
      "best_epoch": 6,
      "stopped_early": true,
      "n_train": 447
    }
  ],
  "dataset_stats": {
    "fintabnet": {
      "dataset": "fintabnet",
      "n_samples": 500,
      "cell_count_mean": 16.0,
      "cell_count_median": 16.0,
      "cell_count_max": 16,
      "span_fraction": 0.0
    },
    "pubtables": {
      "dataset": "pubtables",
      "n_samples": 500,
      "cell_count_mean": 5.0,
      "cell_count_median": 5.0,
      "cell_count_max": 5,
      "span_fraction": 1.0
    },
    "scitsr": {
      "dataset": "scitsr",
      "n_samples": 50,
      "cell_count_mean": 4.0,
      "cell_count_median": 4.0,
      "cell_count_max": 4,
      "span_fraction": 0.0
    },
    "icdar": {
      "dataset": "icdar",
      "n_samples": 100,
      "cell_count_mean": 19.26,
      "cell_count_median": 18.0,
      "cell_count_max": 30,
      "span_fraction": 0.0
    },
    "marmot": {
      "dataset": "marmot",
      "n_samples": 2000,
      "cell_count_mean": 16.0,
      "cell_count_median": 16.0,
      "cell_count_max": 16,
      "span_fraction": 0.0
    }
  },
  "exported": true,
  "inference_dir": "/workspace/JuridicLayout/TableDetectionRec/finetune/models/best/inference"
}

Limitations

  • Trained on public table datasets only; BO-specific layout may still need domain validation.
  • Structure model is one piece of the full table pipeline (cells + OCR required for end-to-end extraction).
  • Wireless / borderless tables are out of scope (wired-only configuration).

Citation

@misc{slanext_wired_bo_ft,
  author = {AvoCahDoe},
  title = {SLANeXt_wired_bo_ft: Finetuned wired table structure model},
  year = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/AvoCahDoe/SLANeXt_wired_bo_ft}}
}

License

Apache 2.0 (inherits from PaddlePaddle/SLANeXt_wired).

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for AvoCahDoe/SLANeXt_wired_bo_ft

Finetuned
(1)
this model

Space using AvoCahDoe/SLANeXt_wired_bo_ft 1

Evaluation results