CircuitOCR LoRA Weights

LoRA fine-tuning weights for PaddleOCR-VL-0.9B on circuit schematic OCR.

Available Checkpoints

Version File Checkpoint CompF1 NED ↓ Notes
V10-Fixed β˜… lora_best_v10_fixed_fp16.pdparams S600 0.2061 0.8031 Best checkpoint, r=16
V10-Fixed lora_v10_fixed_final_fp16.pdparams S800 0.2080 0.8063 Overfits (RepRate 40.9%)
V11-Regularized lora_best_v11_regularized_fp16.pdparams S600 β€” β€” Dropout=0.05
V12-Stage2 lora_best_v12_stage2_fp16.pdparams β€” β€” β€” Two-stage vision+LLM LoRA
V13-HiRes lora_best_v13_fp16.pdparams β€” 0.1781 β€” r=32, max_dim=512, dropout=0.05
V9-Pure lora_best_v9_pure_fp16.pdparams β€” β€” β€” Pure OCR dataset baseline
Projector-only lora_projector_only_fp16.pdparams β€” β€” β€” Vision projector only, no LLM LoRA
Projector r16 lora_projector_r16_fp16.pdparams β€” β€” β€” Full LoRA r16 (early)

Benchmark on easy50-pure (44 samples), evaluated with eval_benchmark_v3.py. S600 is the recommended checkpoint; S800 shows overfitting (repetition rate 40.9%).

Architecture

  • Base model: PaddleOCR-VL-0.9B
  • LoRA: r=16, alpha=32, target_modules=[q_proj, k_proj, v_proj, o_proj]
  • Trainable params: 5.7M / 0.9B (0.6%)
  • Training: 1,554 samples, 3 epochs, RTX 4060 8GB (~34 min)

Quick Start

from paddlex import PaddleOCRVLModel
model = PaddleOCRVLModel.from_pretrained("PaddleOCR-VL/PaddleOCR-VL-0.9B")
model.load_lora_weights("yingchu83/CircuitOCR-lora", "lora_best_v10_fixed_fp16.pdparams")

Links

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

Space using yingchu83/CircuitOCR-lora 1