mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
90 lines
2.7 KiB
C
90 lines
2.7 KiB
C
/**
|
|
******************************************************************************
|
|
* @file layers_ml.h
|
|
* @author AST Embedded Analytics Research Platform
|
|
* @brief header file of AI platform ml layers datatypes
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* Copyright (c) 2021 STMicroelectronics.
|
|
* All rights reserved.
|
|
*
|
|
* This software is licensed under terms that can be found in the LICENSE file
|
|
* in the root directory of this software component.
|
|
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
#ifndef LAYERS_ML_H
|
|
#define LAYERS_ML_H
|
|
|
|
#include "layers_common.h"
|
|
|
|
/*!
|
|
* @defgroup layers_generic ML Layers Definitions
|
|
* @brief definition
|
|
*
|
|
*/
|
|
|
|
AI_API_DECLARE_BEGIN
|
|
|
|
/*!
|
|
* @struct ai_layer_ArrayFeatureExtractor
|
|
* @ingroup layers_ml
|
|
* @brief ai_layer_ArrayFeatureExtractor layer definition
|
|
*
|
|
* This layer select elements of the input tensor based on the indices passed. It is intended to be used
|
|
* by his associated forward function @ref forward_arrayfeatureextractor
|
|
*/
|
|
typedef AI_ALIGNED_TYPE(struct, 4) ai_layer_arrayfeatureextractor_ {
|
|
AI_LAYER_COMMON_FIELDS_DECLARE
|
|
ai_tensor* indices; /*!< Indices of corrisponding axis in axes*/
|
|
} ai_layer_arrayfeatureextractor;
|
|
|
|
|
|
/*!
|
|
* @struct ai_layer_ZipMap
|
|
* @ingroup layers_ml
|
|
* @brief ai_layer_ZipMap layer definition
|
|
*
|
|
* This layer creates a map from the input and the attributes.
|
|
* The values are provided by the input tensor, while the keys are specified by the attributes.
|
|
* The user must provide keys in either classlabels_strings or classlabels_int64s (but not both).
|
|
* The columns of the tensor correspond one-by-one to the keys specified by the attributes.
|
|
* There must be as many columns as keys.
|
|
* It is intended to be used by his associated forward function @ref forward_zipmap.
|
|
*/
|
|
typedef AI_ALIGNED_TYPE(struct, 4) ai_layer_zipmap_ {
|
|
AI_LAYER_COMMON_FIELDS_DECLARE
|
|
ai_bool has_classlabels_int;
|
|
} ai_layer_zipmap;
|
|
|
|
|
|
/******************************************************************************/
|
|
/* Forward Functions Section */
|
|
/******************************************************************************/
|
|
|
|
|
|
/*!
|
|
* @brief select elements of the input tensor based on the indices passed.
|
|
* @ingroup layers_ml
|
|
* @param layer array feture extractor
|
|
*/
|
|
AI_INTERNAL_API
|
|
void forward_arrayfeatureextractor(ai_layer* layer);
|
|
|
|
|
|
/*!
|
|
* @brief creates a map from the inputs and the attributes
|
|
* @ingroup layers_ml
|
|
* @param layer zipmap
|
|
*/
|
|
AI_INTERNAL_API
|
|
void forward_zipmap(ai_layer* layer);
|
|
|
|
|
|
|
|
AI_API_DECLARE_END
|
|
|
|
#endif /*LAYERS_ML_H*/
|