Edge AI Add-on API 2.3.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 const nrf_edgeai_dsp_feature_extraction_t *features_ctx =
47
48 info->model_id = (uint16_t)model_id;
49 info->num_classes = num_classes;
50 info->num_features = features_ctx != NULL ? features_ctx->overall_num : 0;
51 info->version = model->metadata.version.combined;
52
53 return 0;
54}
55
60#endif /* MODEL_UTILS_H_ */
const nrf_edgeai_dsp_feature_extraction_t * nrf_edgeai_dsp_features_ctx(const nrf_edgeai_t *p_edgeai)
Get DSP feature extraction context.
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
const uint16_t overall_num
Definition nrf_edgeai_dsp_pipeline_types.h:375
DSP feature extraction context structure.
Definition nrf_edgeai_dsp_pipeline_types.h:365
nrf_edgeai_rt_version_t version
Definition nrf_edgeai_types.h:145
const char * p_solution_id
Definition nrf_edgeai_types.h:143
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 num_features
Length of the input-feature vector, in elements. 0 if the model has no FEATURES-source metrics (the f...
Definition nrf_edgeai_obsv_core.h:39
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:180
Definition nrf_edgeai_types.h:178
const uint32_t combined
Definition nrf_edgeai_types.h:135