yolox-nano-relu-mit / NOTICE.md
Thefalley's picture
Add NOTICE.md
ed69efb verified
|
Raw
History Blame
4.59 kB

NOTICE β€” Attribution and Provenance

This repository hosts an INT8-quantized ONNX of a YOLOX-Nano variant with ReLU activations and no depthwise convolutions, trained from randomly-initialised weights on COCO 2017 by Pablo Mendoza (@thefalley).

The trained weights, the ONNX export pipeline, the INT8 quantization, the decoder, and the inference scripts are released under the MIT License (see LICENSE).


Provenance chain

Training architecture: YOLOX-Nano-ti-lite        BSD-3 + Apache-2.0
   TexasInstruments/edgeai-yolox                 (used as build tool only)
   exps/default/yolox_nano_ti_lite.py
   (depth=0.33, width=0.25, ReLU activations, regular Conv2D β€” no depthwise)
        β”‚
        β”‚  Training loop (TI's train.py invoked locally)
        β”‚  Dataset: COCO train2017 (CC BY 4.0)
        β”‚  Hardware: own server NVIDIA GTX 1050 Ti, 4 GB VRAM
        β”‚  Batch: 32, fp16 mixed precision, image size 416Γ—416
        β–Ό
yolox_nano_relu.pth          (epoch N checkpoint β€” original work, MIT)
        β”‚
        β”‚  TI's tools/export_onnx.py (used as tool; --opset 13, --no-onnxsim)
        β–Ό
yolox_nano_relu_float.onnx   (this repo, MIT)
        β”‚
        β”‚  onnxruntime.quantize_static (MIT, used as tool)
        β”‚  + COCO val2017 calibration (1000 images, CC BY 4.0, seed=42)
        β–Ό
yolox_nano_relu_int8_qop.onnx (this repo, MIT)

The TI source code is used as a build tool only and is not redistributed in this repository. The weights themselves are an original work output of the training process performed by Pablo Mendoza.


Component-level attribution

1. Training architecture & training code β€” Texas Instruments / edgeai-yolox

  • Project: TexasInstruments/edgeai-yolox
  • Source: https://github.com/TexasInstruments/edgeai-yolox
  • License: BSD-3-Clause + Apache-2.0
  • What we use: the experiment file exps/default/yolox_nano_ti_lite.py and the standard YOLOX training loop. The architecture replaces SiLU activations with ReLU and depthwise separable convolutions with regular Conv2D, originally proposed by TI for their Jacinto SoCs.
  • What we do NOT redistribute: any source code, configs, or compiled binaries from TI's repo. This HF repo contains only the trained weights and our own export/quantization/inference scripts.

2. Original YOLOX architecture β€” Megvii

  • Project: Megvii-BaseDetection/YOLOX
  • Source: https://github.com/Megvii-BaseDetection/YOLOX
  • License: Apache-2.0
  • Reference: Ge et al., "YOLOX: Exceeding YOLO Series in 2021", arXiv:2107.08430
  • What we use: the academic credit for the architecture. We do not use Megvii's pretrained weights β€” those use SiLU activations which our target hardware (an INT8 FPGA DPU) cannot run.

3. Training data β€” COCO train2017

4. Calibration data β€” COCO val2017

  • Source: same dataset, validation split
  • 1,000 images randomly sampled with random.Random(42).sample(...) (deterministic). No COCO image is embedded inside the published ONNX file.

5. Conversion and quantization tools β€” Microsoft ONNX Runtime, PyTorch

  • torch.onnx.export (BSD-3-Clause) β€” used as a tool, not redistributed
  • onnxruntime.quantization.quantize_static (MIT) β€” used as a tool, not redistributed

File-level integrity (SHA-256)

Hashes will be added once training reaches a milestone where the checkpoint is "frozen" for that version. The README always reflects the currently-published file hashes.

File Size SHA-256
yolox_nano_relu_float.onnx *** ***
yolox_nano_relu_int8_qop.onnx *** ***

Author of the trained weights and INT8 derivative

Pablo Mendoza β€” HuggingFace @thefalley

Companion repositories (same author, MIT-clean INT8 detectors):

Repository INT8 size mAP@0.5:0.95
Thefalley/yolov4-leaky-416-int8-qop 61.66 MiB 0.345
Thefalley/yolov4-tiny-416-int8-qop 5.83 MiB 0.163
Thefalley/yolo-fastest-1.1-320-int8-qop 0.47 MiB (pending)

Contact

If you are a rights holder and believe this attribution is inaccurate or incomplete, please open an issue on this repository and it will be corrected promptly.