develop/amd_openvx/openvx/include/VX/vx_khr_nn.h File Reference

develop/amd_openvx/openvx/include/VX/vx_khr_nn.h File Reference#

MIVisionX: develop/amd_openvx/openvx/include/VX/vx_khr_nn.h File Reference
vx_khr_nn.h File Reference

The Khronos Extension for Deep Convolutional Networks Functions. More...

#include <VX/vx.h>

Go to the source code of this file.

Data Structures

struct  _vx_nn_convolution_params_t
 Input parameters for a convolution operation. More...
 
struct  _vx_nn_deconvolution_params_t
 Input parameters for a deconvolution operation. More...
 
struct  _vx_nn_roi_pool_params_t
 Input parameters for ROI pooling operation. More...
 

Macros

#define OPENVX_KHR_NN   "vx_khr_nn"
 
#define VX_LIBRARY_KHR_NN_EXTENSION   (0x1)
 The Neural Network Extension Library Set.
 

Typedefs

typedef struct _vx_nn_convolution_params_t vx_nn_convolution_params_t
 Input parameters for a convolution operation.
 
typedef struct _vx_nn_deconvolution_params_t vx_nn_deconvolution_params_t
 Input parameters for a deconvolution operation.
 
typedef struct _vx_nn_roi_pool_params_t vx_nn_roi_pool_params_t
 Input parameters for ROI pooling operation.
 

Enumerations

enum  vx_kernel_nn_ext_e {
  VX_KERNEL_CONVOLUTION_LAYER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_NN_EXTENSION) + 0x0 , VX_KERNEL_FULLY_CONNECTED_LAYER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_NN_EXTENSION) + 0x1 , VX_KERNEL_POOLING_LAYER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_NN_EXTENSION) + 0x2 , VX_KERNEL_SOFTMAX_LAYER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_NN_EXTENSION) + 0x3 ,
  VX_KERNEL_ACTIVATION_LAYER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_NN_EXTENSION) + 0x5 , VX_KERNEL_ROI_POOLING_LAYER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_NN_EXTENSION) + 0x6 , VX_KERNEL_DECONVOLUTION_LAYER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_NN_EXTENSION) + 0x7 , VX_KERNEL_LOCAL_RESPONSE_NORMALIZATION_LAYER = VX_KERNEL_BASE(VX_ID_KHRONOS, VX_LIBRARY_KHR_NN_EXTENSION) + 0x8
}
 The list of Neural Network Extension Kernels. More...
 
enum  vx_nn_enum_e { VX_ENUM_NN_ROUNDING_TYPE = 0x1A , VX_ENUM_NN_POOLING_TYPE = 0x1B , VX_ENUM_NN_NORMALIZATION_TYPE = 0x1C , VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE = 0x1D }
 NN extension type enums.
 
enum  vx_nn_rounding_type_e { VX_NN_DS_SIZE_ROUNDING_FLOOR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ROUNDING_TYPE) + 0x0 , VX_NN_DS_SIZE_ROUNDING_CEILING = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ROUNDING_TYPE) + 0x1 }
 down scale rounding. More...
 
enum  vx_nn_pooling_type_e { VX_NN_POOLING_MAX = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_POOLING_TYPE) + 0x0 , VX_NN_POOLING_AVG = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_POOLING_TYPE) + 0x1 }
 The Neural Network pooling type list. More...
 
enum  vx_nn_norm_type_e { VX_NN_NORMALIZATION_SAME_MAP = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_NORMALIZATION_TYPE) + 0x0 , VX_NN_NORMALIZATION_ACROSS_MAPS = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_NORMALIZATION_TYPE) + 0x1 }
 The Neural Network normalization type list. More...
 
enum  vx_nn_activation_function_e {
  VX_NN_ACTIVATION_LOGISTIC = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x0 , VX_NN_ACTIVATION_HYPERBOLIC_TAN = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x1 , VX_NN_ACTIVATION_RELU = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x2 , VX_NN_ACTIVATION_BRELU = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x3 ,
  VX_NN_ACTIVATION_SOFTRELU = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x4 , VX_NN_ACTIVATION_ABS = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x5 , VX_NN_ACTIVATION_SQUARE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x6 , VX_NN_ACTIVATION_SQRT = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x7 ,
  VX_NN_ACTIVATION_LINEAR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x8
}
 The Neural Network activation functions list. More...
 
enum  vx_nn_type_e { VX_TYPE_NN_CONVOLUTION_PARAMS = 0x025 , VX_TYPE_NN_DECONVOLUTION_PARAMS = 0x026 , VX_TYPE_NN_ROI_POOL_PARAMS = 0x027 }
 The type enumeration lists all NN extension types. More...
 

Functions

VX_API_ENTRY vx_node VX_API_CALL vxConvolutionLayer (vx_graph graph, vx_tensor inputs, vx_tensor weights, vx_tensor biases, const vx_nn_convolution_params_t *convolution_params, vx_size size_of_convolution_params, vx_tensor outputs)
 [Graph] Creates a Convolutional Network Convolution Layer Node. More...
 
VX_API_ENTRY vx_node VX_API_CALL vxFullyConnectedLayer (vx_graph graph, vx_tensor inputs, vx_tensor weights, vx_tensor biases, vx_enum overflow_policy, vx_enum rounding_policy, vx_tensor outputs)
 [Graph] Creates a Fully connected Convolutional Network Layer Node. More...
 
VX_API_ENTRY vx_node VX_API_CALL vxPoolingLayer (vx_graph graph, vx_tensor inputs, vx_enum pooling_type, vx_size pooling_size_x, vx_size pooling_size_y, vx_size pooling_padding_x, vx_size pooling_padding_y, vx_enum rounding, vx_tensor outputs)
 [Graph] Creates a Convolutional Network Pooling Layer Node. More...
 
VX_API_ENTRY vx_node VX_API_CALL vxSoftmaxLayer (vx_graph graph, vx_tensor inputs, vx_tensor outputs)
 [Graph] Creates a Convolutional Network Softmax Layer Node. More...
 
VX_API_ENTRY vx_node VX_API_CALL vxLocalResponseNormalizationLayer (vx_graph graph, vx_tensor inputs, vx_enum type, vx_size normalization_size, vx_float32 alpha, vx_float32 beta, vx_float32 bias, vx_tensor outputs)
 [Graph] Creates a Convolutional Network Local Response Normalization Layer Node. This function is optional for 8-bit extension with the extension string 'KHR_NN_8'. More...
 
VX_API_ENTRY vx_node VX_API_CALL vxActivationLayer (vx_graph graph, vx_tensor inputs, vx_enum function, vx_float32 a, vx_float32 b, vx_tensor outputs)
 [Graph] Creates a Convolutional Network Activation Layer Node. The function operate a specific function (Specified in vx_nn_activation_function_e), On the input data. the equation for the layer is: \( outputs(i,j,k,l) = function(inputs(i,j,k,l), a, b) \) for all i,j,k,l. More...
 
VX_API_ENTRY vx_node VX_API_CALL vxROIPoolingLayer (vx_graph graph, vx_tensor input_data, vx_tensor input_rois, const vx_nn_roi_pool_params_t *roi_pool_params, vx_size size_of_roi_params, vx_tensor output_arr)
 [Graph] Creates a Convolutional Network ROI pooling node More...
 
VX_API_ENTRY vx_node VX_API_CALL vxDeconvolutionLayer (vx_graph graph, vx_tensor inputs, vx_tensor weights, vx_tensor biases, const vx_nn_deconvolution_params_t *deconvolution_params, vx_size size_of_deconv_params, vx_tensor outputs)
 [Graph] Creates a Convolutional Network Deconvolution Layer Node. More...
 

Detailed Description

The Khronos Extension for Deep Convolutional Networks Functions.