LibreYOLO benchmark comparison website. Compares YOLOX and YOLOv9 models across hardware and runtimes.
The website lives in website/. Everything else at the root is documentation or config.
cd website
npm run dev # local dev server
npm run build # production build
npm run lint # eslintRun from the repo root (the Vercel project xubanceccons-projects/website has its root directory set to website, so deploying from inside website/ fails):
npx vercel --prodThree levels of metadata:
families.json— per-family: paper, authors, organization, originalRepo, detection approach, postprocessing, innovations, training dataset.models.json— per-variant: architecture, specs (params/flops), weights URLs, license, release date,inLibreYOLO.- Submission JSONs — per-run: accuracy, speed, hardware, software versions, benchmark config, and provenance.
source in models.json points to original author's weights and LibreYOLO's weights separately. Family-level info (paper URL, code repo, authors) lives in families.json, not models.json.
Add the raw JSON file from the benchmark runner under submissions/, then rebuild generated/verified-results.v1.json with the root scripts. The website reads only the generated canonical dataset.
See README.md for full schema and step-by-step instructions.
model.namemust matchidinmodels.json(checkMODEL_NAME_MAPintransform.ts)evalblock:{ dataset, split, numImages }implementationblock:{ provider, version, repo, weightsOrigin }— weightsOrigin is"original","converted", or"retrained"runtimeblock:{ format, precision, device }- Do NOT include
mAP_small/medium/largeas zeros — omit if not measured
website/src/data/metadata/families.json— family-level metadatawebsite/src/data/metadata/models.json— variant-level metadatawebsite/src/data/metadata/hardware.json— hardware platformswebsite/src/data/metadata/runtimes.json— runtime definitionswebsite/src/data/metadata/datasets.json— dataset definitions
You can commit but not push. The user will handle pushes manually.