Instructions to use microsoft/table-transformer-detection with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use microsoft/table-transformer-detection with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("object-detection", model="microsoft/table-transformer-detection")# Load model directly from transformers import AutoImageProcessor, AutoModelForObjectDetection processor = AutoImageProcessor.from_pretrained("microsoft/table-transformer-detection") model = AutoModelForObjectDetection.from_pretrained("microsoft/table-transformer-detection") - Notebooks
- Google Colab
- Kaggle
docs: add Windows ONNX Runtime usage (CPU / NPU / GPU) with WinML CLI
Browse filesThis PR adds a small "Run as ONNX" subsection to the Usage section.
It points users at three ways to run the model outside the original
PyTorch path:
- Microsoft's WinML CLI for conversion + quantization
- Windows ML for on-device inference (NPU / GPU / CPU)
- ONNX Runtime for cross-platform inference
Why merge:
- Reaches a much wider audience. Windows is the largest desktop
install base, and Windows ML now ships built-in NPU support on
Copilot+ PCs. Surfacing an NPU path on the model card makes this
model directly discoverable to Windows app developers who would
otherwise skip it because the existing card only shows the
PyTorch CPU path.
- Removes the biggest deployment blocker. PyTorch CPU inference
runs at ~621 ms / image on an Intel Core Ultra 7 258V; the same
model on the NPU runs at ~44 ms (~14x speedup) at roughly half
the file size, with mAP within 1% of the baseline. That moves
this model from "batch / offline" into "interactive UX"
territory for document / PDF tools.
Benchmark numbers and a full reproduction walkthrough live at:
https://github.com/microsoft/winml-cli/blob/main/examples/microsoft-table-transformer-detection/README.md
|
@@ -17,4 +17,19 @@ The Table Transformer is equivalent to [DETR](https://huggingface.co/docs/transf
|
|
| 17 |
|
| 18 |
## Usage
|
| 19 |
|
| 20 |
-
You can use the raw model for detecting tables in documents. See the [documentation](https://huggingface.co/docs/transformers/main/en/model_doc/table-transformer) for more info.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
## Usage
|
| 19 |
|
| 20 |
+
You can use the raw model for detecting tables in documents. See the [documentation](https://huggingface.co/docs/transformers/main/en/model_doc/table-transformer) for more info.
|
| 21 |
+
|
| 22 |
+
### Run as ONNX (CPU / NPU / GPU)
|
| 23 |
+
|
| 24 |
+
Detect tables ~14× faster on a Windows NPU at half the model size, with mAP within 1% of the original PyTorch checkpoint — by exporting this model to ONNX. You can also export to ONNX to run on CPU or GPU.
|
| 25 |
+
|
| 26 |
+
Benchmarked on an Intel Core Ultra 7 258V (PubTables-1M validation, 1000 samples):
|
| 27 |
+
|
| 28 |
+
| Model | Device | Precision | mAP | mean latency (ms) | p50 latency (ms) | Size (MB) |
|
| 29 |
+
|---------|--------------|-------------|--------|-------------------|------------------|-----------|
|
| 30 |
+
| PyTorch | CPU | fp32 | 0.9887 | 620.9 | 600.3 | 115 |
|
| 31 |
+
| ONNX | OpenVINO NPU | w8a16 (QDQ) | 0.9822 | 44.1 | 41.6 | 58 |
|
| 32 |
+
|
| 33 |
+
- **How to convert** — Export and quantize with [Microsoft's WinML CLI](https://github.com/microsoft/winml-cli). The NPU build is QDQ-quantized to w8a16; fp32 builds for CPU and GPU are also supported. End-to-end build, evaluation, and a Python inference example: [examples/microsoft-table-transformer-detection](https://github.com/microsoft/winml-cli/blob/main/examples/microsoft-table-transformer-detection/README.md).
|
| 34 |
+
- **How to run on Windows** — Use [Windows ML](https://learn.microsoft.com/en-us/windows/ai/new-windows-ml/overview), which manages execution providers for NPU / GPU / CPU and routes ONNX inference to the right backend automatically.
|
| 35 |
+
- **How to run on other platforms** — Use [ONNX Runtime](https://onnxruntime.ai/docs/) with the execution provider of your choice (OpenVINO, QNN, DirectML, CUDA, CPU, etc.).
|