Edge AI Add-on API 2.2.0
Loading...
Searching...
No Matches
model_utils.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
7#ifndef MODEL_UTILS_H_
8#define MODEL_UTILS_H_
9
15#include <errno.h>
16#include <stdlib.h>
17
18#include <zephyr/sys/__assert.h>
19
22
32static inline int obsv_model_info_from_model(nrf_edgeai_t *model, uint16_t num_classes,
34{
35 __ASSERT_NO_MSG(model != NULL);
36 __ASSERT_NO_MSG(info != NULL);
37 __ASSERT_NO_MSG(nrf_edgeai_model_outputs_num(model) == num_classes);
38
39 const unsigned long model_id = strtoul(model->metadata.p_solution_id, NULL, 10);
40
41 if (model_id > UINT16_MAX) {
42 return -EINVAL;
43 }
44
45 info->model_id = (uint16_t)model_id;
46 info->num_classes = num_classes;
47 info->version = model->metadata.version.combined;
48
49 return 0;
50}
51
56#endif /* MODEL_UTILS_H_ */
uint16_t nrf_edgeai_model_outputs_num(const nrf_edgeai_t *p_edgeai)
Get number of model outputs (predicted targets)
static int obsv_model_info_from_model(nrf_edgeai_t *model, uint16_t num_classes, nrf_edgeai_obsv_model_info_t *info)
Fill observability model metadata from an nRF Edge AI model instance.
Definition model_utils.h:32
nrf_edgeai_rt_version_t version
Definition nrf_edgeai_types.h:134
const char * p_solution_id
Definition nrf_edgeai_types.h:133
uint16_t num_classes
Number of model output classes.
Definition nrf_edgeai_obsv_core.h:35
uint32_t version
Model version identifier.
Definition nrf_edgeai_obsv_core.h:41
uint16_t model_id
Application-defined model identifier.
Definition nrf_edgeai_obsv_core.h:33
Static model metadata included in observability snapshots.
Definition nrf_edgeai_obsv_core.h:31
nrf_edgeai_metadata_t metadata
Definition nrf_edgeai_types.h:143
Definition nrf_edgeai_types.h:141
const uint32_t combined
Definition nrf_edgeai_types.h:125