File size: 4,589 Bytes
ed69efb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | # 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
- **Source**: https://cocodataset.org
- **License**: Creative Commons Attribution 4.0 (CC BY 4.0)
### 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`](https://huggingface.co/thefalley)
Companion repositories (same author, MIT-clean INT8 detectors):
| Repository | INT8 size | mAP@0.5:0.95 |
|---|---|---|
| [`Thefalley/yolov4-leaky-416-int8-qop`](https://huggingface.co/Thefalley/yolov4-leaky-416-int8-qop) | 61.66 MiB | 0.345 |
| [`Thefalley/yolov4-tiny-416-int8-qop`](https://huggingface.co/Thefalley/yolov4-tiny-416-int8-qop) | 5.83 MiB | 0.163 |
| [`Thefalley/yolo-fastest-1.1-320-int8-qop`](https://huggingface.co/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.
|