Skip to content
Back to skills

Onnx And Benchmarking

ASecurity

"Use 3DDFA_V2 ONNX Runtime acceleration and CPU latency or speed

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
testingpythonbash

Works with

  • cli

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill onnx-and-benchmarking --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Onnx And Benchmarking?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Onnx And Benchmarking
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-onnx-and-benchmarking/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-onnx-and-benchmarking)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "onnx-and-benchmarking"
description: "Use 3DDFA_V2 ONNX Runtime acceleration and CPU latency or speed
  benchmark workflows."
metadata:
  disco-role: operating
disable-model-invocation: true
license: MIT
---

# ONNX and benchmarking

Use this sub-skill when the task is about `--onnx`, ONNX conversion, CPU
latency, `OMP_NUM_THREADS`, `latency.py`, or `speed_cpu.py`.

## When to read

Read this sub-skill when the task asks to:

- Use ONNX Runtime instead of the PyTorch model path.
- Explain or prepare `TDDFA_ONNX` and `FaceBoxes_ONNX`.
- Run end-to-end latency timing on an image.
- Run the model-only CPU microbenchmark.
- Diagnose missing `.onnx` files, OpenMP/libomp issues, or unstable timings.

## Before running

1. Use `../setup-and-assets/` to build and verify the baseline checkout.
2. Check `../../references/model-assets.md` for which `.pth`, `.pkl`, and
   generated `.onnx` assets are involved.
3. Keep benchmark inputs and thread counts fixed when comparing numbers.

## Latency wrapper

The latency wrapper preserves the original `latency.py` CLI. Put original
arguments after `--`:

```bash
python <skill-root>/sub-skills/onnx-and-benchmarking/scripts/run-latency.py \
  --repo-root <checkout> -- \
  -f <image-path> --onnx --repeated 1 --warmup true
```

This reports face detection, 3DMM regression, and reconstruction timing.

## Speed wrapper

The speed wrapper preserves `speed_cpu.py`:

```bash
python <skill-root>/sub-skills/onnx-and-benchmarking/scripts/run-speed-cpu.py \
  --repo-root <checkout>
```

It runs a random input through `weights/mb1_120x120.onnx` and prints the mean
and standard deviation per inference.

## ONNX conversion behavior

- `FaceBoxes_ONNX` converts `FaceBoxesProd.pth` to `FaceBoxesProd.onnx` if the
  ONNX file is missing.
- `TDDFA_ONNX` converts the selected `.pth` checkpoint and the BFM decoder if
  the ONNX artifacts are missing.
- Conversion is CPU-safe but mutates the checkout by writing generated `.onnx`
  files.

## Thread and provider notes

- The repo sets `OMP_NUM_THREADS=4` in the ONNX demo paths.
- `KMP_DUPLICATE_LIB_OK=True` is set by the demo scripts before ONNX imports.
- CPU ONNX Runtime is the baseline. CUDA/other providers are outside the
  required verification scope.
- On macOS, the original README notes that `libomp` may be required.

## Troubleshooting

Read `references/troubleshooting.md` for ONNX-specific issues and
`../../references/troubleshooting.md` for shared setup failures.

Files in this skill

  • SKILL.md2.4 KB
  • references/troubleshooting.md1.2 KB
  • references/workflows.md1.1 KB
  • scripts/run-latency.py910 B
  • scripts/run-speed-cpu.py920 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…