mathmanu commited on
Commit
2280459
·
verified ·
1 Parent(s): bff9691

Add yolov8 model files

Browse files
Files changed (4) hide show
  1. README.md +196 -0
  2. prepare_model.py +276 -0
  3. yolov8m_config.yaml +146 -0
  4. yolov8n_config.yaml +146 -0
README.md ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: agpl-3.0
3
+ tags:
4
+ - vision
5
+ - image-detection
6
+ datasets:
7
+ - COCO
8
+ ---
9
+
10
+ <div align="center">
11
+
12
+ # YOLOv8 for TI EdgeAI
13
+
14
+ ### Real-Time Anchor-Free Object Detector
15
+
16
+ [![License](https://img.shields.io/badge/License-AGPL%203.0-blue?style=for-the-badge)](https://opensource.org/licenses/AGPL-3.0)
17
+ [![Framework](https://img.shields.io/badge/Framework-ONNX-orange?style=for-the-badge)](https://onnx.ai/)
18
+ [![Task](https://img.shields.io/badge/Task-Object%20Detection-green?style=for-the-badge)](https://github.com/TexasInstruments/edgeai)
19
+ [![Dataset](https://img.shields.io/badge/Dataset-COCO-blueviolet?style=for-the-badge)](https://cocodataset.org/)
20
+
21
+ </div>
22
+
23
+ ---
24
+
25
+ ## Overview
26
+
27
+ **YOLOv8** is Ultralytics' real-time object detector, building on the advancements of previous YOLO versions with an **anchor-free split Ultralytics head** design that improves accuracy and speeds up the detection process compared to earlier anchor-based approaches. It combines a state-of-the-art backbone and neck architecture for improved feature extraction with an optimized accuracy-speed trade-off, making it suitable for real-time detection across a wide range of applications.
28
+
29
+ YOLOv8 is offered in five size variants — n, s, m, l, x — spanning a wide accuracy-speed trade-off, from resource-constrained edge devices up to high-throughput deployments. This model is optimized for **Texas Instruments MPU (Microprocessor Unit) devices**, targeting edge computer vision use cases such as industrial automation, smart cameras, robotics, and IoT vision.
30
+
31
+ ---
32
+
33
+ ## Model Variants
34
+
35
+ | Model | Params (M) | Input Size | mAP[.5:.95]% | Validated Devices | Config |
36
+ |-------|------------|------------|--------------|--------------------|--------|
37
+ | `yolov8n` | 3.2 | 640×640 | 37.3 | TDA4VH, TDA4VL, TDA4AEN | [yolov8n_config.yaml](yolov8n_config.yaml) |
38
+ | `yolov8s` | 11.2 | 640×640 | 44.9 | N/A | N/A |
39
+ | `yolov8m` | 25.9 | 640×640 | 50.2 | TDA4VH, TDA4VL | [yolov8m_config.yaml](yolov8m_config.yaml) |
40
+ | `yolov8l` | 43.7 | 640×640 | 52.9 | N/A | N/A |
41
+ | `yolov8x` | 68.2 | 640×640 | 53.9 | N/A | N/A |
42
+
43
+ **Recommended for edge deployment:** `yolov8n` (best accuracy/compute trade-off, smallest footprint)
44
+
45
+ ---
46
+
47
+ ## Quick Start
48
+
49
+ ### Prerequisites
50
+
51
+ ```bash
52
+ pip install onnx>=1.22.0
53
+ pip install onnxruntime>=1.23.2
54
+ pip install ultralytics
55
+ ```
56
+
57
+ For TI hardware deployment, also set up **[tidlrunner](https://github.com/TexasInstruments/edgeai-tidlrunner/blob/main/README.md)**.
58
+
59
+ If accessing this model from HuggingFace, clone the repository using the `hf` CLI:
60
+
61
+ ```bash
62
+ hf download <REPO_ID> --local-dir <download_location>
63
+ ```
64
+
65
+ ### Export the Model
66
+
67
+ ```bash
68
+ # Export the default model (yolov8n)
69
+ python prepare_model.py
70
+
71
+ # Export specific variants
72
+ python prepare_model.py --models yolov8n yolov8m
73
+
74
+ # Export all variants
75
+ python prepare_model.py --models all
76
+
77
+ # List all supported variants
78
+ python prepare_model.py --list-models
79
+
80
+ # Export with a custom output directory or export format
81
+ python prepare_model.py --models yolov8n --output-dir ./exports --format onnx
82
+ ```
83
+
84
+ The script automatically:
85
+ - Installs required runtime dependencies (`onnx`, `ultralytics`, `onnxslim`, `onnxruntime`)
86
+ - Loads the requested Ultralytics YOLOv8 checkpoint (`.pt`), downloading it on first use
87
+ - Exports the model to ONNX (opset 19 by default, configurable via `--opset`)
88
+ - Supports alternate export formats (`torchscript`, `tflite`, `pb`, `saved_model`, `coreml`, and more) via `--format`
89
+
90
+ ### Compile and Infer uing edgeai-tidlrunner
91
+
92
+ > **Note:** Run the commands below from inside the `tidlrunner` directory (the cloned [edgeai-tidlrunner](https://github.com/TexasInstruments/edgeai-tidlrunner) repository), with `--config_path` pointing to this model's config file.
93
+
94
+ **Compile using edgeai-tidlrunner - on PC**
95
+
96
+ ```bash
97
+ cd /path/to/edgeai-tidlrunner
98
+ tidlrunner-cli compile --target_device J784S4 \
99
+ --config_path /path/to/yolov8n_config.yaml
100
+ ```
101
+
102
+ **Run Inference Benchmark - on device**
103
+
104
+ ```bash
105
+ cd /path/to/edgeai-tidlrunner
106
+ tidlrunner-cli infer --target_device J784S4 \
107
+ --config_path /path/to/yolov8n_config.yaml
108
+ ```
109
+
110
+ To evaluate accuracy instead, replace `infer` with `evaluate` in the command above.
111
+
112
+ ### Compile and Infer using edgeai-tidl-tools (Advanced):
113
+
114
+ Follow the instructions at https://github.com/TexasInstruments/edgeai-tidl-tools
115
+
116
+ ### Deploy using edgeai-tidl-tools:
117
+
118
+ Deplyment can be done using **[edgeai-tidl-tools](https://github.com/TexasInstruments/edgeai-tidl-tools)**. For ONNX models, onnxruntime-tidl with TIDL acceleration can be used. Consult the documentation of edgeai-tidl-tools for more details.
119
+
120
+ ---
121
+
122
+ ## Citation
123
+
124
+ Ultralytics has not published a formal research paper for YOLOv8 due to the rapidly evolving nature of the models. If you use the YOLOv8 model or any other software from the Ultralytics repository in your work, please cite it using the following format:
125
+
126
+ ```bibtex
127
+ @software{yolov8_ultralytics,
128
+ author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
129
+ title = {Ultralytics YOLOv8},
130
+ version = {8.0.0},
131
+ year = {2023},
132
+ url = {https://github.com/ultralytics/ultralytics},
133
+ orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
134
+ license = {AGPL-3.0}
135
+ }
136
+ ```
137
+
138
+ ---
139
+
140
+ ## 🔗 Resources
141
+
142
+ | Resource | Link |
143
+ |----------|------|
144
+ | **Source Code** | [ultralytics/ultralytics](https://github.com/ultralytics/ultralytics) |
145
+ | **Documentation** | [YOLOv8 Docs](https://docs.ultralytics.com/models/yolov8/) |
146
+ | **edgeai-tidl-tools** | [GitHub](https://github.com/TexasInstruments/edgeai-tidl-tools) |
147
+ | **edgeai-tidlrunner** | [GitHub](https://github.com/TexasInstruments/edgeai-tidlrunner) |
148
+ | **EdgeAI SDK** | [Documentation](https://github.com/TexasInstruments/edgeai/blob/main/edgeai-mpu/readme_sdk.md) |
149
+ | **EdgeAI MPU Overview** | [GitHub](https://github.com/TexasInstruments/edgeai/tree/main/edgeai-mpu) |
150
+ | **TI EdgeAI Ecosystem** | [GitHub](https://github.com/TexasInstruments/edgeai) |
151
+
152
+ ---
153
+
154
+ ## Related Models
155
+
156
+ <table>
157
+ <tr>
158
+ <td align="center">
159
+
160
+ **YOLO11**
161
+ Newer Ultralytics generation
162
+ Improved accuracy/speed
163
+
164
+ </td>
165
+ <td align="center">
166
+
167
+ **YOLO26**
168
+ Latest Ultralytics generation
169
+ Unified, end-to-end detection
170
+
171
+ </td>
172
+ <td align="center">
173
+
174
+ **YOLOX**
175
+ Anchor-free YOLO variant
176
+ Decoupled head design
177
+
178
+ </td>
179
+ <td align="center">
180
+
181
+ **RTMDet**
182
+ CNN-based alternative
183
+ Real-time mmdetection model
184
+
185
+ </td>
186
+ </tr>
187
+ </table>
188
+
189
+ ---
190
+
191
+ <div align="center">
192
+
193
+ **Maintained by:** Texas Instruments EdgeAI Team
194
+ **Last Updated:** August 2026
195
+
196
+ </div>
prepare_model.py ADDED
@@ -0,0 +1,276 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) 2018-2026, Texas Instruments
2
+ # All Rights Reserved.
3
+ #
4
+ # Redistribution and use in source and binary forms, with or without
5
+ # modification, are permitted provided that the following conditions are met:
6
+ #
7
+ # * Redistributions of source code must retain the above copyright notice, this
8
+ # list of conditions and the following disclaimer.
9
+ #
10
+ # * Redistributions in binary form must reproduce the above copyright notice,
11
+ # this list of conditions and the following disclaimer in the documentation
12
+ # and/or other materials provided with the distribution.
13
+ #
14
+ # * Neither the name of the copyright holder nor the names of its
15
+ # contributors may be used to endorse or promote products derived from
16
+ # this software without specific prior written permission.
17
+ #
18
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
+ # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25
+ # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
+ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+
29
+
30
+ # ---------------------------------------------------------------------------
31
+ # Script: prepare_model.py
32
+ #
33
+ # Purpose:
34
+ # Export one or more YOLOv8 model variants (n / s / m / l / x) to ONNX
35
+ # (or any other Ultralytics-supported format) using the Ultralytics Python
36
+ # API. Required packages (onnx, ultralytics) are installed automatically
37
+ # at runtime if they are not already present.
38
+ #
39
+ # Usage examples:
40
+ # # Export only yolov8n (default behaviour)
41
+ # python prepare_model.py
42
+ #
43
+ # # Export specific variants
44
+ # python prepare_model.py --models yolov8n yolov8s
45
+ #
46
+ # # Export all variants
47
+ # python prepare_model.py --models yolov8n yolov8s yolov8m yolov8l yolov8x
48
+ #
49
+ # # Export to a custom directory in TorchScript format
50
+ # python prepare_model.py --models yolov8n --format torchscript --output-dir ./exports
51
+ # ---------------------------------------------------------------------------
52
+
53
+ import argparse
54
+ from pathlib import Path
55
+ import sys
56
+ import subprocess
57
+
58
+
59
+ # ---------------------------------------------------------------------------
60
+ # Helper utilities
61
+ # ---------------------------------------------------------------------------
62
+
63
+ def install_package(package: str) -> None:
64
+ """Install a Python package at runtime using pip.
65
+
66
+ This ensures that optional heavyweight dependencies (e.g. ``onnx``,
67
+ ``ultralytics``) are available without requiring them to be listed in the
68
+ project's top-level requirements file.
69
+
70
+ Args:
71
+ package (str): Package name as accepted by ``pip install`` (e.g.
72
+ ``'onnx'``, ``'ultralytics>=8.0'``).
73
+ """
74
+ subprocess.check_call([sys.executable, "-m", "pip", "install", package])
75
+
76
+
77
+ # ---------------------------------------------------------------------------
78
+ # Core export logic
79
+ # ---------------------------------------------------------------------------
80
+
81
+ def export_model(checkpoint: str, output_format: str = 'onnx', output_dir: str = None, opset: int = None) -> str:
82
+ """Export a YOLOv8 model checkpoint to the requested format.
83
+
84
+ The function loads the model via the Ultralytics ``YOLO`` class and calls
85
+ its ``export()`` method. When *checkpoint* is a bare filename such as
86
+ ``'yolov8n.pt'``, Ultralytics will automatically download the pre-trained
87
+ weights from the official release page on first use.
88
+
89
+ Supported export formats (non-exhaustive):
90
+ ``onnx``, ``torchscript``, ``tflite``, ``pb``, ``saved_model``,
91
+ ``coreml``, ``paddle``, ``ncnn``.
92
+
93
+ Args:
94
+ checkpoint (str): Path to, or name of, the YOLO checkpoint file
95
+ (e.g. ``'yolov8n.pt'`` or ``'/path/to/custom_model.pt'``).
96
+ output_format (str): Target export format understood by Ultralytics.
97
+ Defaults to ``'onnx'``.
98
+ output_dir (str | None): Directory where the exported artefact will be
99
+ written. The directory is created automatically if it does not
100
+ exist. When ``None`` the Ultralytics default location (same
101
+ folder as the source ``.pt`` file) is used.
102
+ opset (int | None): ONNX opset version to use for export. Only applies
103
+ when output_format is 'onnx'. When ``None``, uses Ultralytics default.
104
+
105
+ Returns:
106
+ str: Absolute path to the exported model file as reported by
107
+ Ultralytics.
108
+ """
109
+ # Import here so that the module can be imported without ultralytics
110
+ # being installed (the install happens in __main__ before any export call).
111
+ from ultralytics.models import YOLO
112
+
113
+ print(f"\n[export] Loading checkpoint: {checkpoint}")
114
+ model = YOLO(checkpoint)
115
+
116
+ # Build keyword arguments for model.export()
117
+ export_kwargs = {
118
+ 'format': output_format,
119
+ }
120
+
121
+ # import torch
122
+ # dummy_input = torch.zeros(3, 640, 640, dtype=torch.float32)
123
+ # torch.onnx.export(
124
+ # model=
125
+ # )
126
+
127
+ if output_dir:
128
+ # Resolve and create the output directory tree as needed
129
+ output_dir = Path(output_dir)
130
+ output_dir.mkdir(parents=True, exist_ok=True)
131
+ export_kwargs['project'] = str(output_dir)
132
+
133
+ if opset is not None and output_format == 'onnx':
134
+ export_kwargs['opset'] = opset
135
+
136
+ print(f"[export] Exporting to format='{output_format}'"
137
+ + (f", output_dir='{output_dir}'" if output_dir else "") + " …")
138
+
139
+ exported_path = model.export(**export_kwargs)
140
+ print(f"[export] Model exported successfully to: {exported_path}")
141
+ return exported_path
142
+
143
+
144
+ # ---------------------------------------------------------------------------
145
+ # CLI argument parsing
146
+ # ---------------------------------------------------------------------------
147
+
148
+ # All recognised YOLOv8 size variants in ascending order of complexity
149
+ ALL_MODELS = ['yolov8n', 'yolov8s', 'yolov8m', 'yolov8l', 'yolov8x']
150
+
151
+ # Default: export only the nano variant (smallest / fastest)
152
+ DEFAULT_MODELS = ['yolov8n']
153
+
154
+
155
+ def parse_args() -> argparse.Namespace:
156
+ """Parse command-line arguments for the export script.
157
+
158
+ Returns:
159
+ argparse.Namespace: Parsed argument object with the following fields:
160
+
161
+ * ``models`` – list of model base-names to export (without ``.pt``)
162
+ * ``format`` – Ultralytics export format string
163
+ * ``output_dir`` – destination directory (``None`` → Ultralytics default)
164
+ """
165
+ parser = argparse.ArgumentParser(
166
+ description=(
167
+ "Export YOLOv8 model variants to ONNX (or another format) "
168
+ "using the Ultralytics Python API."
169
+ ),
170
+ formatter_class=argparse.ArgumentDefaultsHelpFormatter,
171
+ )
172
+
173
+ parser.add_argument(
174
+ '--models',
175
+ nargs='+',
176
+ choices=ALL_MODELS + ['all'],
177
+ default=DEFAULT_MODELS,
178
+ metavar='MODEL',
179
+ help=(
180
+ "One or more YOLOv8 variants to export. "
181
+ f"Choices: {ALL_MODELS} or 'all'. "
182
+ f"Default: {DEFAULT_MODELS}."
183
+ ),
184
+ )
185
+ parser.add_argument(
186
+ '--list-models',
187
+ action='store_true',
188
+ help='List all supported YOLOv8 model variants and exit.',
189
+ )
190
+
191
+ parser.add_argument(
192
+ '--format',
193
+ default='onnx',
194
+ metavar='FORMAT',
195
+ help=(
196
+ "Ultralytics export format. "
197
+ "Common values: onnx, torchscript, tflite, pb, saved_model, coreml."
198
+ ),
199
+ )
200
+
201
+ parser.add_argument(
202
+ '--output-dir',
203
+ default=None,
204
+ metavar='DIR',
205
+ help=(
206
+ "Directory to save exported models. "
207
+ "Created automatically if it does not exist. "
208
+ "Defaults to the Ultralytics standard location when omitted."
209
+ ),
210
+ )
211
+
212
+ parser.add_argument(
213
+ '--opset',
214
+ type=int,
215
+ default=19,
216
+ metavar='VERSION',
217
+ help=(
218
+ "ONNX opset version to use for export (e.g., 19). "
219
+ "Only applies when --format is 'onnx'. "
220
+ "Defaults to Ultralytics default opset when omitted."
221
+ ),
222
+ )
223
+
224
+ return parser.parse_args()
225
+
226
+
227
+ # ---------------------------------------------------------------------------
228
+ # Entry point
229
+ # ---------------------------------------------------------------------------
230
+
231
+ if __name__ == '__main__':
232
+ # ------------------------------------------------------------------
233
+ # 1. Parse CLI arguments
234
+ # ------------------------------------------------------------------
235
+ args = parse_args()
236
+
237
+ if args.list_models:
238
+ print("Supported YOLOv8 model variants:")
239
+ for m in ALL_MODELS:
240
+ print(f" {m}")
241
+ sys.exit(0)
242
+
243
+ if 'all' in args.models:
244
+ args.models = list(ALL_MODELS)
245
+
246
+ # ------------------------------------------------------------------
247
+ # 2. Ensure runtime dependencies are available
248
+ # ------------------------------------------------------------------
249
+ # 'onnx' is required for ONNX export; 'ultralytics' provides the YOLO API;
250
+ # 'onnxslim' is used internally by ultralytics' export(simplify=True) (the
251
+ # default), which replaced the older 'onnxsim' package; 'onnxruntime' is
252
+ # used internally to validate/load the exported ONNX model. Installing
253
+ # these upfront avoids ultralytics' own AutoUpdate, which fails offline.
254
+ install_package('onnx')
255
+ install_package('ultralytics')
256
+ install_package('onnxslim')
257
+ install_package('onnxruntime')
258
+
259
+ print(f"Models to export : {args.models}")
260
+ print(f"Export format : {args.format}")
261
+ print(f"Output directory : {args.output_dir or '(Ultralytics default)'}")
262
+
263
+ # ------------------------------------------------------------------
264
+ # 3. Export each requested model variant
265
+ # ------------------------------------------------------------------
266
+ for model_name in args.models:
267
+ # Append the '.pt' extension expected by Ultralytics
268
+ checkpoint = f"{model_name}.pt"
269
+ export_model(
270
+ checkpoint=checkpoint,
271
+ output_format=args.format,
272
+ output_dir=args.output_dir,
273
+ opset=args.opset,
274
+ )
275
+
276
+ print("\n[done] All requested models exported.")
yolov8m_config.yaml ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ task_type: detection
2
+ input_dataset: coco
3
+ preprocess:
4
+ resize: 640
5
+ crop: 640
6
+ data_layout: NCHW
7
+ reverse_channels: false
8
+ backend: cv2
9
+ interpolation: null
10
+ resize_with_pad:
11
+ - true
12
+ - center
13
+ pad_color:
14
+ - 114
15
+ - 114
16
+ - 114
17
+ name: image_preprocess
18
+ session:
19
+ tidl_offload: true
20
+ input_optimization: false
21
+ input_data_layout: NCHW
22
+ input_mean:
23
+ - 0.0
24
+ - 0.0
25
+ - 0.0
26
+ input_scale:
27
+ - 0.003922
28
+ - 0.003922
29
+ - 0.003922
30
+ # runtime_options:
31
+ # advanced_options:output_feature_16bit_names_list: ''
32
+ # advanced_options:params_16bit_names_list: ''
33
+ # object_detection:meta_arch_type: 6
34
+ model_path: yolov8m.onnx
35
+ model_id: od-mh8001
36
+ input_details: null
37
+ output_details: null
38
+ num_inputs: 1
39
+ postprocess:
40
+ reshape_list: null
41
+ formatter:
42
+ name: DetectionXYWH2XYXYCenterXY
43
+ resize_with_pad:
44
+ - true
45
+ - center
46
+ normalized_detections: false
47
+ shuffle_indices: null
48
+ squeeze_axis: null
49
+ ignore_index: null
50
+ model_output_type: combined
51
+ transpose_indices: [0,2,1]
52
+ logits_bbox_to_bbox_ls:
53
+ score_fn: null
54
+ bbox_index: [0,4]
55
+ scores_index: [4,-1]
56
+ keypoint: false
57
+ object6dpose: false
58
+ name: detection_postprocess
59
+ metric:
60
+ label_offset_pred:
61
+ 0: 1
62
+ 1: 2
63
+ 2: 3
64
+ 3: 4
65
+ 4: 5
66
+ 5: 6
67
+ 6: 7
68
+ 7: 8
69
+ 8: 9
70
+ 9: 10
71
+ 10: 11
72
+ 11: 13
73
+ 12: 14
74
+ 13: 15
75
+ 14: 16
76
+ 15: 17
77
+ 16: 18
78
+ 17: 19
79
+ 18: 20
80
+ 19: 21
81
+ 20: 22
82
+ 21: 23
83
+ 22: 24
84
+ 23: 25
85
+ 24: 27
86
+ 25: 28
87
+ 26: 31
88
+ 27: 32
89
+ 28: 33
90
+ 29: 34
91
+ 30: 35
92
+ 31: 36
93
+ 32: 37
94
+ 33: 38
95
+ 34: 39
96
+ 35: 40
97
+ 36: 41
98
+ 37: 42
99
+ 38: 43
100
+ 39: 44
101
+ 40: 46
102
+ 41: 47
103
+ 42: 48
104
+ 43: 49
105
+ 44: 50
106
+ 45: 51
107
+ 46: 52
108
+ 47: 53
109
+ 48: 54
110
+ 49: 55
111
+ 50: 56
112
+ 51: 57
113
+ 52: 58
114
+ 53: 59
115
+ 54: 60
116
+ 55: 61
117
+ 56: 62
118
+ 57: 63
119
+ 58: 64
120
+ 59: 65
121
+ 60: 67
122
+ 61: 70
123
+ 62: 72
124
+ 63: 73
125
+ 64: 74
126
+ 65: 75
127
+ 66: 76
128
+ 67: 77
129
+ 68: 78
130
+ 69: 79
131
+ 70: 80
132
+ 71: 81
133
+ 72: 82
134
+ 73: 84
135
+ 74: 85
136
+ 75: 86
137
+ 76: 87
138
+ 77: 88
139
+ 78: 89
140
+ 79: 90
141
+ 80: 91
142
+ model_info:
143
+ metric_reference:
144
+ accuracy_ap[.5:.95]%: 50.2
145
+ compact_name: yolov8m-coco-640x640
146
+ shortlisted: true
yolov8n_config.yaml ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ task_type: detection
2
+ input_dataset: coco
3
+ preprocess:
4
+ resize: 640
5
+ crop: 640
6
+ data_layout: NCHW
7
+ reverse_channels: false
8
+ backend: cv2
9
+ interpolation: null
10
+ resize_with_pad:
11
+ - true
12
+ - center
13
+ pad_color:
14
+ - 114
15
+ - 114
16
+ - 114
17
+ name: image_preprocess
18
+ session:
19
+ tidl_offload: true
20
+ input_optimization: false
21
+ input_data_layout: NCHW
22
+ input_mean:
23
+ - 0.0
24
+ - 0.0
25
+ - 0.0
26
+ input_scale:
27
+ - 0.003922
28
+ - 0.003922
29
+ - 0.003922
30
+ # runtime_options:
31
+ # advanced_options:output_feature_16bit_names_list: ''
32
+ # advanced_options:params_16bit_names_list: ''
33
+ # object_detection:meta_arch_type: 6
34
+ model_path: yolov8n.onnx
35
+ model_id: od-mh8000
36
+ input_details: null
37
+ output_details: null
38
+ num_inputs: 1
39
+ postprocess:
40
+ reshape_list: null
41
+ formatter:
42
+ name: DetectionXYWH2XYXYCenterXY
43
+ resize_with_pad:
44
+ - true
45
+ - center
46
+ normalized_detections: false
47
+ shuffle_indices: null
48
+ squeeze_axis: null
49
+ ignore_index: null
50
+ model_output_type: combined
51
+ transpose_indices: [0,2,1]
52
+ logits_bbox_to_bbox_ls:
53
+ score_fn: null
54
+ bbox_index: [0,4]
55
+ scores_index: [4,-1]
56
+ keypoint: false
57
+ object6dpose: false
58
+ name: detection_postprocess
59
+ metric:
60
+ label_offset_pred:
61
+ 0: 1
62
+ 1: 2
63
+ 2: 3
64
+ 3: 4
65
+ 4: 5
66
+ 5: 6
67
+ 6: 7
68
+ 7: 8
69
+ 8: 9
70
+ 9: 10
71
+ 10: 11
72
+ 11: 13
73
+ 12: 14
74
+ 13: 15
75
+ 14: 16
76
+ 15: 17
77
+ 16: 18
78
+ 17: 19
79
+ 18: 20
80
+ 19: 21
81
+ 20: 22
82
+ 21: 23
83
+ 22: 24
84
+ 23: 25
85
+ 24: 27
86
+ 25: 28
87
+ 26: 31
88
+ 27: 32
89
+ 28: 33
90
+ 29: 34
91
+ 30: 35
92
+ 31: 36
93
+ 32: 37
94
+ 33: 38
95
+ 34: 39
96
+ 35: 40
97
+ 36: 41
98
+ 37: 42
99
+ 38: 43
100
+ 39: 44
101
+ 40: 46
102
+ 41: 47
103
+ 42: 48
104
+ 43: 49
105
+ 44: 50
106
+ 45: 51
107
+ 46: 52
108
+ 47: 53
109
+ 48: 54
110
+ 49: 55
111
+ 50: 56
112
+ 51: 57
113
+ 52: 58
114
+ 53: 59
115
+ 54: 60
116
+ 55: 61
117
+ 56: 62
118
+ 57: 63
119
+ 58: 64
120
+ 59: 65
121
+ 60: 67
122
+ 61: 70
123
+ 62: 72
124
+ 63: 73
125
+ 64: 74
126
+ 65: 75
127
+ 66: 76
128
+ 67: 77
129
+ 68: 78
130
+ 69: 79
131
+ 70: 80
132
+ 71: 81
133
+ 72: 82
134
+ 73: 84
135
+ 74: 85
136
+ 75: 86
137
+ 76: 87
138
+ 77: 88
139
+ 78: 89
140
+ 79: 90
141
+ 80: 91
142
+ model_info:
143
+ metric_reference:
144
+ accuracy_ap[.5:.95]%: 37.3
145
+ compact_name: yolov8n-coco-640x640
146
+ shortlisted: true