TI Deep Learning Product User Guide
|
This file defines the ivision interface for TI deep learning library.
Go to the source code of this file.
#define | USE_IVISION (1) |
#define | TIDL_NUM_MAX_LAYERS ((int32_t) 1024) |
#define | TIDL_NUM_IN_BUFS ((int32_t) 16) |
#define | TIDL_NUM_OUT_BUFS ((int32_t) 16) |
#define | TIDL_STRING_SIZE ((int32_t) 512) |
#define | TIDL_MAX_DATA_BUFS ((int32_t) 1024) |
#define | TIDL_MAX_ALG_IN_BUFS ((int32_t) 32) |
#define | TIDL_MAX_ALG_OUT_BUFS ((int32_t) 32) |
#define | TIDL_MAX_NUM_GROUPS ((int32_t) 64) |
typedef float | float32_tidl |
typedef double | float64_tidl |
typedef int32_t(* | TIDL_Lock_t) (void) |
Call back function pointer to lock interrupts. More... | |
typedef void(* | TIDL_Unlock_t) (int32_t) |
Call back function pointer to unlock interrupts. More... | |
const IVISION_Fxns | TIDL_VISION_FXNS |
The unique const function table for the TI deep learning algorithm. More... | |
Data Structures | |
struct | sBuffer_t |
This structure define the parameters of data or kernel buffer memory in TIDL. More... | |
struct | sTIDL_sysMemHandle_t |
This structure defines the system memory handles in TIDL There are total four handles: 0: L1, 1:L2, 2:L3 and 3:DDR. More... | |
struct | sTIDL_DataParams_t |
This structure define the parameters of data or kernel buffer used by TIDL layers (In,Out) More... | |
struct | sTIDL_DataLayerParams_t |
This structure define the parameters of Data layer in TIDL. More... | |
struct | sTIDL_ShuffleLayerParams_t |
This structure define the parameters of Shuffle layer in TIDL. More... | |
struct | sTIDL_DepthToSpaceParams_t |
This structure define the parameters of Depth To Space layer in TIDL. More... | |
struct | sTIDL_PadLayerParams_t |
This structure define the parameters of Pad layer in TIDL. More... | |
struct | sTIDL_odOutputReformatLayerParams_t |
This structure define the parameters of the OD output reformatting layer in TIDL. More... | |
struct | sTIDL_ResizeLayerParams_t |
This structure define the parameters of Resize layer in TIDL. More... | |
struct | sTIDL_RoiPoolingLayerParams_t |
This structure define the parameters of ROI Pooling layer in TIDL. More... | |
struct | sTIDL_SliceLayerParams_t |
struct | sTIDL_ActParams_t |
This structure define the parameters of ReLU activation layer in TIDL. More... | |
struct | sTIDL_CalibParams_t |
This structure define the parameters of ReLU activation layer in TIDL. More... | |
struct | sTIDL_ArgMaxParams_t |
This structure define the parameters Arg max layer in TIDL. More... | |
struct | sTIDL_PoolingParams_t |
This structure define the parameters spatial Pooling layer in TIDL. More... | |
struct | sTIDL_CustomParams_t |
This structure defines the parameters for custom layer in TIDL. More... | |
struct | sTIDL_ConvParams_t |
This structure define the parameters Convolution Layer in TIDL. More... | |
struct | sTIDL_DetectOutputParams_t |
This structure define the parameters of Detection Output Layer in TIDL. More... | |
struct | sTIDL_AnchorBoxParams_t |
This structure define the parameters of AnchorBox used by Detection Output Layer in TIDL. More... | |
struct | sTIDL_ConcatParams_t |
This structure define the parameters of PriorBox layer in TIDL. More... | |
struct | sTIDL_BatchNormParams_t |
This structure define the parameters of Batch Norm layer in TIDL. More... | |
struct | sTIDL_BiasParams_t |
This structure define the parameters of Bias layer in TIDL. More... | |
struct | sTIDL_InnerProductParams_t |
This structure define the parameters of Inner Product (Fully connected) layer in TIDL. More... | |
struct | sTIDL_EltWiseParams_t |
This structure define the parameters of Element wise layer in TIDL. More... | |
struct | sTIDL_SoftMaxParams_t |
This structure define the parameters Soft max layer in TIDL. More... | |
struct | sTIDL_CropParams_t |
This structure define the parameters Crop layer in TIDL. More... | |
struct | sTIDL_dataConvertParams_t |
This structure define the parameters Dat Convert layer in TIDL. More... | |
struct | sTIDL_ReduceParams_t |
This structure define common parameters ReduceMax/ReduceMin layer in TIDL. More... | |
struct | sTIDL_ScatterElementsParams_t |
This structure define the parameters ScatterElements layer in TIDL. More... | |
struct | sTIDL_LayerParams_t |
This union define the layer specific parameters of all the supported layers in TIDL. More... | |
struct | sTIDL_Layer_t |
This structure define the common layer parameters in TIDL. More... | |
struct | sTIDL_Network_t |
This structure define the parameters CNN/Deep learning net in TIDL. More... | |
struct | sTIDL_IOBufDesc_t |
This structure defines the Input and output buffer descriptors required for a given Layer group. More... | |
struct | TIDL_CreateParams |
This structure contains all the parameters which TI DL library at create time. More... | |
struct | TIDL_InArgs |
This structure contains all the parameters which controls the applet at create time. More... | |
struct | TIDL_outArgs |
This structure contains all the parameters which controls the applet at create time. More... | |
struct | TIDL_ODLayerHeaderInfo |
This structure contains the header information of Objection detection layer. More... | |
struct | TIDL_ODLayerKeyPoint |
This structure contains the key points information of BBox detected by OD layer. More... | |
struct | TIDL_ODLayerObjInfo |
This structure contains the each object's information detected by Objection detection layer. More... | |
struct | TIDL_3DODLayerObjInfo |
This structure contains the each object's information detected by 3D Objection detection layer. More... | |
Macros | |
#define | TIDL_OD_MAX_KEYPOINTS (16) |
#define | TIDL_OD_MAX_ANCHORS_PER_HEAD (16) |
#define | TIDL_NET_VERSION (0x20211201) |
#define | TIDL_OD_MAX_KEY_POINTS (32) |
TIDL Layer Type | |
#define | TIDL_DataLayer ((int32_t) 0) |
#define | TIDL_ConvolutionLayer ((int32_t) 1) |
#define | TIDL_PoolingLayer ((int32_t) 2) |
#define | TIDL_ReLULayer ((int32_t) 3) |
#define | TIDL_PReLULayer ((int32_t) 4) |
#define | TIDL_EltWiseLayer ((int32_t) 5) |
#define | TIDL_InnerProductLayer ((int32_t) 6) |
#define | TIDL_SoftMaxLayer ((int32_t) 7) |
#define | TIDL_BatchNormLayer ((int32_t) 8) |
#define | TIDL_BiasLayer ((int32_t) 9) |
#define | TIDL_ScaleLayer ((int32_t) 10) |
#define | TIDL_Deconv2DLayer ((int32_t) 11) |
#define | TIDL_ConcatLayer ((int32_t) 12) |
#define | TIDL_SplitLayer ((int32_t) 13) |
#define | TIDL_SliceLayer ((int32_t) 14) |
#define | TIDL_CropLayer ((int32_t) 15) |
#define | TIDL_FlattenLayer ((int32_t) 16) |
#define | TIDL_DropOutLayer ((int32_t) 17) |
#define | TIDL_ArgMaxLayer ((int32_t) 18) |
#define | TIDL_DetectionOutputLayer ((int32_t) 19) |
#define | TIDL_ShuffleChannelLayer ((int32_t) 20) |
#define | TIDL_ResizeLayer ((int32_t) 21) |
#define | TIDL_RoiPoolingLayer ((int32_t) 22) |
#define | TIDL_OdPostProcessingLayer ((int32_t) 23) |
#define | TIDL_DepthToSpaceLayer ((int32_t) 24) |
#define | TIDL_SigmoidLayer ((int32_t) 25) |
#define | TIDL_PadLayer ((int32_t) 26) |
#define | TIDL_ColorConversionLayer ((int32_t) 27) |
#define | TIDL_OdOutputReformatLayer ((int32_t) 28) |
#define | TIDL_DataConvertLayer ((int32_t) 29) |
#define | TIDL_CustomLayer ((int32_t) 30) |
#define | TIDL_BatchReshapeLayer ((int32_t) 31) |
#define | TIDL_ReduceLayer ((int32_t) 32) |
#define | TIDL_ScatterElementsLayer ((int32_t) 33) |
#define | TIDL_SqueezeLayer ((int32_t) 34) |
#define | TIDL_UnsupportedLayer ((int32_t) 35) |
TIDL Element Type | |
#define | TIDL_UnsignedChar ((int32_t) 0) |
#define | TIDL_SignedChar ((int32_t) 1) |
#define | TIDL_UnsignedShort ((int32_t) 2) |
#define | TIDL_SignedShort ((int32_t) 3) |
#define | TIDL_UnsignedWord ((int32_t) 4) |
#define | TIDL_SignedWord ((int32_t) 5) |
#define | TIDL_SinglePrecFloat ((int32_t) 6) |
#define | TIDL_UnsignedDoubleWord ((int32_t) 7) |
#define | TIDL_SignedDoubleWord ((int32_t) 8) |
Tenosr Layout Type | |
#define | TIDL_LT_NCHW ((uint32_t) 0) |
#define | TIDL_LT_NHWC ((uint32_t) 1) |
#define | TIDL_LT_MAX (TIDLRT_LT_NHWC+1) |
Tenosr Data convertion layer type | |
#define | TIDL_DC_TYPE_INPUT ((uint32_t) 0) |
#define | TIDL_DC_TYPE_OUTPUT ((uint32_t) 1) |
#define | TIDL_DC_TYPE_MAX (TIDL_DC_TYPE_OUTPUT+1) |
TIDL Quantization Style | |
#define | TIDL_QuantStyleFixed ((int32_t) 0) |
In this case, TIDL expects the Quantization information via interface. This is supported by caffe-jacinto training framework - Currently not supported for user. More... | |
#define | TIDL_QuantStyleDynamic ((int32_t) 1) |
IDynamic quantization does not depend on training. Quantization of kernel weights happen during model import using tool. More... | |
#define | TIDL_QuantStyleNP2Fixed ((int32_t) 2) |
Non Power of two scale for Weight and Power of two scale for Feature. Weight scale is Fixed and Feature scale is Dynamic. More... | |
#define | TIDL_QuantStyleP2Dynamic ((int32_t) 3) |
Power of two scale for both Weight and Feature. Weight scale is Fixed and Feature scale is Dynamic. More... | |
#define | TIDL_QuantStyleCustom ((int32_t) 10) |
Currently not supported for user. More... | |
TIDL Calibration Option | |
#define | TIDL_CalibOptionActivationRange ((int32_t) 1) |
This option is to enable different methods to find activation range for quantization. If this bit field is 0 then simple min and max based range will be used for activation quantization. More... | |
#define | TIDL_CalibOptionWeightRange ((int32_t) 2) |
This option is to enable different methods to find weight range for quantization. If this bit field is 0 then simple min and max based range will be used for weight quantization. More... | |
#define | TIDL_CalibOptionBiasCalibration ((int32_t) 4) |
This option enables advanced bias calibration. More... | |
#define | TIDL_CalibOptionPerChannelWeightQuantization ((int32_t) 8) |
This option enables per channel quantization for weights for depthwise separable convolution layers. More... | |
#define | TIDL_CalibOptionMixedPrecisionDepthwise ((int32_t) 16) |
This option enables mixed precision for all depthwise convolution layers i.e. all depthwise convolution layers weights will be 16 bit and processing will happen in 16 bit with final weights in 8 bits. More... | |
#define | TIDL_CalibOptionMixedPrecisionInput ((int32_t) 32) |
This option enables mixed precision ( 16 bit weights) for the first convolution layer after the intput data layer. More... | |
#define | TIDL_CalibOptionBiasRange ((int32_t) 64) |
This option enables Bias Range clipping to avoid weight scale saturation. More... | |
TIDL Activation Range Method | |
#define | TIDL_ActivationRangeMethodHistogram ((int32_t) 0) |
This option uses histogram to find the minimum and maximum activation range of each layer. Here Histogram is reset after each frame. More... | |
#define | TIDL_ActivationRangeMethodGlobalHistogram ((int32_t) 1) |
This option uses histogram to find the minimum and maximum activation range. Here the histogram is computed across all the frames used for calibration. More... | |
TIDL Weight Range Method | |
#define | TIDL_WeightRangeMethodHistogram ((int32_t) 0) |
This option uses histogram to find the minimum and maximum weight range. More... | |
#define | TIDL_WeightRangeMethodMedian ((int32_t) 1) |
This option uses median to find the minimum and maximum weight range. More... | |
TIDL Memory Optimization Method | |
#define | TIDL_OptimiseExtMemL0 ((int32_t) 0) |
In this case, no optimization in output memory, output buffer will not re-use memory from previous layers, so algorithm uses more external memory. This is Currently used for debugging. More... | |
#define | TIDL_OptimiseExtMemL1 ((int32_t) 1) |
In this case, output buffer will re-use memory from previous layers when they have same width and height, so algorithm uses less external memory compare to L0 case. More... | |
#define | TIDL_OptimiseExtMemL2 ((int32_t) 2) |
In this case, output buffer will re-use memory from previous layers when they have different width and height, so algorithm uses less external memory compare to L1 case. More... | |
TIDL Kernel Type | |
#define | TIDL_Sparse ((int32_t) 0) |
In this case, only non zero coefficients are considered for convolution. More... | |
#define | TIDL_Dense ((int32_t) 1) |
In this case, all coefficients are considered for convolution. More... | |
TIDL Stride Offset Method | |
#define | TIDL_StrideOffsetTopLeft ((int32_t) 0) |
#define | TIDL_StrideOffsetCenter ((int32_t) 1) |
#define | TIDL_StrideOffsetMax ((int32_t) 2) |
TIDL Pooling Type | |
#define | TIDL_MaxPooling ((int32_t) 0) |
#define | TIDL_AveragePooling ((int32_t) 1) |
TIDL Activation Type | |
#define | TIDL_NoAct ((int32_t) 0) |
#define | TIDL_RelU ((int32_t) 1) |
#define | TIDL_PRelU ((int32_t) 2) |
#define | TIDL_RelU6 ((int32_t) 3) |
#define | TIDL_Clip ((int32_t) 4) |
#define | TIDL_Sigmoid ((int32_t) 5) |
TIDL Element Wise Type | |
#define | TIDL_EltWiseProduct ((int32_t) 0) |
#define | TIDL_EltWiseSum ((int32_t) 1) |
#define | TIDL_EltWiseMax ((int32_t) 2) |
TIDL Data Dimension Index | |
#define | TIDL_DIM_BATCH ((int32_t) 0) |
#define | TIDL_DIM_NUMCH ((int32_t) 1) |
#define | TIDL_DIM_HEIGHT ((int32_t) 2) |
#define | TIDL_DIM_WIDTH ((int32_t) 3) |
#define | TIDL_DIM_MAX ((int32_t) 4) |
TIDL Pitch Dimension Index | |
#define | TIDL_ROI_PITCH ((uint32_t) 0) |
#define | TIDL_CHANNEL_PITCH ((uint32_t) 1) |
#define | TIDL_LINE_PITCH ((uint32_t) 2) |
#define | TIDL_PITCH_MAX ((uint32_t) (TIDL_DIM_MAX - 1)) |
TIDL Error Type | |
#define | TIDL_E_CONVOLUTION ((int32_t) -1000) |
#define | TIDL_E_CONV_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 0)) |
#define | TIDL_E_CONV_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 1)) |
#define | TIDL_E_CONV_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 2)) |
#define | TIDL_E_CONV_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 3)) |
#define | TIDL_E_CONV_INVALID_NUM_IN_CHANNELS ((int32_t) (TIDL_E_CONVOLUTION - 4)) |
#define | TIDL_E_CONV_INVALID_NUM_OUT_CHANNELS ((int32_t) (TIDL_E_CONVOLUTION - 5)) |
#define | TIDL_E_CONV_INVALID_KER_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 6)) |
#define | TIDL_E_CONV_INVALID_KER_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 7)) |
#define | TIDL_E_CONV_INVALID_KER_TYPE ((int32_t) (TIDL_E_CONVOLUTION - 8)) |
#define | TIDL_E_CONV_INVALID_STRIDE_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 9)) |
#define | TIDL_E_CONV_INVALID_STRIDE_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 10)) |
#define | TIDL_E_CONV_NEGATIVE_OUTPUT_SHIFT ((int32_t) (TIDL_E_CONVOLUTION - 11)) |
#define | TIDL_E_CONV_POOL_INVALID_POOL_TYPE ((int32_t) (TIDL_E_CONVOLUTION - 12)) |
#define | TIDL_E_CONV_POOL_INVALID_KER_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 13)) |
#define | TIDL_E_CONV_POOL_INVALID_KER_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 14)) |
#define | TIDL_E_CONV_POOL_INVALID_STRIDE_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 15)) |
#define | TIDL_E_CONV_POOL_INVALID_STRIDE_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 16)) |
#define | TIDL_E_ELTWISE ((int32_t) -1020) |
#define | TIDL_E_ELTWISE_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_ELTWISE - 0)) |
#define | TIDL_E_ELTWISE_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_ELTWISE - 1)) |
#define | TIDL_E_ELTWISE_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_ELTWISE - 2)) |
#define | TIDL_E_ELTWISE_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_ELTWISE - 3)) |
#define | TIDL_E_ELTWISE_INVALID_ELTWISE_TYPE ((int32_t) (TIDL_E_ELTWISE - 4)) |
#define | TIDL_E_ELTWISE_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_ELTWISE - 5)) |
#define | TIDL_E_POOLING ((int32_t) -1030) |
#define | TIDL_E_POOL_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_POOLING - 0)) |
#define | TIDL_E_POOL_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_POOLING - 1)) |
#define | TIDL_E_POOL_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_POOLING - 2)) |
#define | TIDL_E_POOL_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_POOLING - 3)) |
#define | TIDL_E_POOL_INVALID_POOL_TYPE ((int32_t) (TIDL_E_POOLING - 4)) |
#define | TIDL_E_POOL_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_POOLING - 5)) |
#define | TIDL_E_POOL_INVALID_KER_WIDTH ((int32_t) (TIDL_E_POOLING - 6)) |
#define | TIDL_E_POOL_INVALID_KER_HEIGHT ((int32_t) (TIDL_E_POOLING - 7)) |
#define | TIDL_E_POOL_INVALID_STRIDE_WIDTH ((int32_t) (TIDL_E_POOLING - 8)) |
#define | TIDL_E_POOL_INVALID_STRIDE_HEIGHT ((int32_t) (TIDL_E_POOLING - 9)) |
#define | TIDL_E_INNER_PRODUCT ((int32_t) -1040) |
#define | TIDL_E_IP_INVALID_NUM_IN_NODES ((int32_t) (TIDL_E_INNER_PRODUCT - 0)) |
#define | TIDL_E_IP_INVALID_NUM_OUT_NODES ((int32_t) (TIDL_E_INNER_PRODUCT - 1)) |
#define | TIDL_E_IP_NEGATIVE_OUTPUT_SHIFT ((int32_t) (TIDL_E_INNER_PRODUCT - 2)) |
#define | TIDL_E_ARGMAX ((int32_t) -1050) |
#define | TIDL_E_ARGMAX_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_ARGMAX - 0)) |
#define | TIDL_E_BN ((int32_t) -1060) |
#define | TIDL_E_BN_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_BN - 0)) |
#define | TIDL_E_BN_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_BN - 1)) |
#define | TIDL_E_BN_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_BN - 2)) |
#define | TIDL_E_BN_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_BN - 3)) |
#define | TIDL_E_BN_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_BN - 4)) |
#define | TIDL_E_BN_INVALID_ENABLE_RELU ((int32_t) (TIDL_E_BN - 5)) |
#define | TIDL_E_BN_NEGATIVE_OUTPUT_SHIFT ((int32_t) (TIDL_E_BN - 6)) |
#define | TIDL_E_CROP ((int32_t) -1070) |
#define | TIDL_E_CROP_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_CROP - 0)) |
#define | TIDL_E_CROP_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_CROP - 1)) |
#define | TIDL_E_CROP_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_CROP - 2)) |
#define | TIDL_E_CROP_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_CROP - 3)) |
#define | TIDL_E_CROP_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_CROP - 4)) |
#define | TIDL_E_CROP_INVALID_OFFSET_WIDTH ((int32_t) (TIDL_E_CROP - 5)) |
#define | TIDL_E_CROP_INVALID_OFFSET_HEIGHT ((int32_t) (TIDL_E_CROP - 6)) |
#define | TIDL_E_FLATTEN ((int32_t) -1080) |
#define | TIDL_E_FLATTEN_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_FLATTEN - 0)) |
#define | TIDL_E_FLATTEN_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_FLATTEN - 1)) |
#define | TIDL_E_FLATTEN_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_FLATTEN - 2)) |
#define | TIDL_E_FLATTEN_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_FLATTEN - 3)) |
#define | TIDL_E_SOFTMAX ((int32_t) -1090) |
#define | TIDL_E_SOFTMAX_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_SOFTMAX - 0)) |
#define | TIDL_E_SHUFFLECHANNEL ((int32_t) -1100) |
#define | TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_SHUFFLECHANNEL - 0)) |
#define | TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_SHUFFLECHANNEL - 1)) |
#define | TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_SHUFFLECHANNEL - 2)) |
#define | TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_SHUFFLECHANNEL - 3)) |
#define | TIDL_E_SHUFFLECHANNEL_INVALID_NUM_GROUPS ((int32_t) (TIDL_E_SHUFFLECHANNEL - 4)) |
#define | TIDL_E_COMMON ((int32_t) -1110) |
#define | TIDL_E_UNSUPPORTED_LAYER ((int32_t) (TIDL_E_COMMON - 0)) |
#define | TIDL_E_DATAFLOW_INFO_NULL ((int32_t) (TIDL_E_COMMON - 1)) |
#define | TIDL_E_INVALID_DEBUG_TRACE_PRM ((int32_t) (TIDL_E_COMMON - 2)) |
#define | TIDL_E_INVALID_NET_VERSION ((int32_t) (TIDL_E_COMMON - 3)) |
#define | TIDL_E_INVALID_IO_LINE_PITCH ((int32_t) (TIDL_E_COMMON - 4)) |
#define | TIDL_E_QUANT_STATS_NOT_AVAILABALE ((int32_t) (TIDL_E_COMMON - 5)) |
TIDL Scratch memory Type | |
#define | TIDL_SYSMEM_L1_SCRATCH ((uint32_t) 0) |
#define | TIDL_SYSMEM_L2_SCRATCH ((uint32_t) 1) |
#define | TIDL_SYSMEM_L3_SCRATCH ((uint32_t) 2) |
#define | TIDL_SYSMEM_DDR_SCRATCH ((uint32_t) 3) |
#define | TIDL_SYSMEM_MAX ((uint32_t) 4) |
TIDL Custom Layer Execution Model/Network | |
#define | TIDL_EXEC_MODE_STATS_COLLECTION ((int32_t) 0) |
In this case, custom layer should calculate the min and max of buffer used for stats collection and based on that it should update the output tensor scale. More... | |
#define | TIDL_EXEC_MODE_INFER_PROCESS ((int32_t) 2) |
This is the case when custom layer API is called during processing. More... | |
#define | TIDL_EXEC_MODE_INFER_PROCESS_REF ((int32_t) 3) |
Functions | |
static float32_tidl | TIDL_getWorstcaseDelayForPreemption (sTIDL_Network_t *net) |
static int | TIDL_createParamsInit (TIDL_CreateParams *params) |
#define USE_IVISION (1) |
#define TIDL_NUM_MAX_LAYERS ((int32_t) 1024) |
#define TIDL_NUM_IN_BUFS ((int32_t) 16) |
#define TIDL_NUM_OUT_BUFS ((int32_t) 16) |
#define TIDL_STRING_SIZE ((int32_t) 512) |
#define TIDL_MAX_DATA_BUFS ((int32_t) 1024) |
#define TIDL_MAX_ALG_IN_BUFS ((int32_t) 32) |
#define TIDL_MAX_ALG_OUT_BUFS ((int32_t) 32) |
#define TIDL_MAX_NUM_GROUPS ((int32_t) 64) |
#define TIDL_DataLayer ((int32_t) 0) |
#define TIDL_ConvolutionLayer ((int32_t) 1) |
#define TIDL_PoolingLayer ((int32_t) 2) |
#define TIDL_ReLULayer ((int32_t) 3) |
#define TIDL_PReLULayer ((int32_t) 4) |
#define TIDL_EltWiseLayer ((int32_t) 5) |
#define TIDL_InnerProductLayer ((int32_t) 6) |
#define TIDL_SoftMaxLayer ((int32_t) 7) |
#define TIDL_BatchNormLayer ((int32_t) 8) |
#define TIDL_BiasLayer ((int32_t) 9) |
#define TIDL_ScaleLayer ((int32_t) 10) |
#define TIDL_Deconv2DLayer ((int32_t) 11) |
#define TIDL_ConcatLayer ((int32_t) 12) |
#define TIDL_SplitLayer ((int32_t) 13) |
#define TIDL_SliceLayer ((int32_t) 14) |
#define TIDL_CropLayer ((int32_t) 15) |
#define TIDL_FlattenLayer ((int32_t) 16) |
#define TIDL_DropOutLayer ((int32_t) 17) |
#define TIDL_ArgMaxLayer ((int32_t) 18) |
#define TIDL_DetectionOutputLayer ((int32_t) 19) |
#define TIDL_ShuffleChannelLayer ((int32_t) 20) |
#define TIDL_ResizeLayer ((int32_t) 21) |
#define TIDL_RoiPoolingLayer ((int32_t) 22) |
#define TIDL_OdPostProcessingLayer ((int32_t) 23) |
#define TIDL_DepthToSpaceLayer ((int32_t) 24) |
#define TIDL_SigmoidLayer ((int32_t) 25) |
#define TIDL_PadLayer ((int32_t) 26) |
#define TIDL_ColorConversionLayer ((int32_t) 27) |
#define TIDL_OdOutputReformatLayer ((int32_t) 28) |
#define TIDL_DataConvertLayer ((int32_t) 29) |
#define TIDL_CustomLayer ((int32_t) 30) |
#define TIDL_BatchReshapeLayer ((int32_t) 31) |
#define TIDL_ReduceLayer ((int32_t) 32) |
#define TIDL_ScatterElementsLayer ((int32_t) 33) |
#define TIDL_SqueezeLayer ((int32_t) 34) |
#define TIDL_UnsupportedLayer ((int32_t) 35) |
#define TIDL_UnsignedChar ((int32_t) 0) |
#define TIDL_SignedChar ((int32_t) 1) |
#define TIDL_UnsignedShort ((int32_t) 2) |
#define TIDL_SignedShort ((int32_t) 3) |
#define TIDL_UnsignedWord ((int32_t) 4) |
#define TIDL_SignedWord ((int32_t) 5) |
#define TIDL_SinglePrecFloat ((int32_t) 6) |
#define TIDL_UnsignedDoubleWord ((int32_t) 7) |
#define TIDL_SignedDoubleWord ((int32_t) 8) |
#define TIDL_LT_NCHW ((uint32_t) 0) |
#define TIDL_LT_NHWC ((uint32_t) 1) |
#define TIDL_LT_MAX (TIDLRT_LT_NHWC+1) |
#define TIDL_DC_TYPE_INPUT ((uint32_t) 0) |
#define TIDL_DC_TYPE_OUTPUT ((uint32_t) 1) |
#define TIDL_DC_TYPE_MAX (TIDL_DC_TYPE_OUTPUT+1) |
#define TIDL_QuantStyleFixed ((int32_t) 0) |
In this case, TIDL expects the Quantization information via interface. This is supported by caffe-jacinto training framework - Currently not supported for user.
#define TIDL_QuantStyleDynamic ((int32_t) 1) |
IDynamic quantization does not depend on training. Quantization of kernel weights happen during model import using tool.
#define TIDL_QuantStyleNP2Fixed ((int32_t) 2) |
Non Power of two scale for Weight and Power of two scale for Feature. Weight scale is Fixed and Feature scale is Dynamic.
#define TIDL_QuantStyleP2Dynamic ((int32_t) 3) |
Power of two scale for both Weight and Feature. Weight scale is Fixed and Feature scale is Dynamic.
#define TIDL_QuantStyleCustom ((int32_t) 10) |
Currently not supported for user.
#define TIDL_CalibOptionActivationRange ((int32_t) 1) |
This option is to enable different methods to find activation range for quantization. If this bit field is 0 then simple min and max based range will be used for activation quantization.
#define TIDL_CalibOptionWeightRange ((int32_t) 2) |
This option is to enable different methods to find weight range for quantization. If this bit field is 0 then simple min and max based range will be used for weight quantization.
#define TIDL_CalibOptionBiasCalibration ((int32_t) 4) |
This option enables advanced bias calibration.
#define TIDL_CalibOptionPerChannelWeightQuantization ((int32_t) 8) |
This option enables per channel quantization for weights for depthwise separable convolution layers.
#define TIDL_CalibOptionMixedPrecisionDepthwise ((int32_t) 16) |
This option enables mixed precision for all depthwise convolution layers i.e. all depthwise convolution layers weights will be 16 bit and processing will happen in 16 bit with final weights in 8 bits.
#define TIDL_CalibOptionMixedPrecisionInput ((int32_t) 32) |
This option enables mixed precision ( 16 bit weights) for the first convolution layer after the intput data layer.
#define TIDL_CalibOptionBiasRange ((int32_t) 64) |
This option enables Bias Range clipping to avoid weight scale saturation.
#define TIDL_ActivationRangeMethodHistogram ((int32_t) 0) |
This option uses histogram to find the minimum and maximum activation range of each layer. Here Histogram is reset after each frame.
#define TIDL_ActivationRangeMethodGlobalHistogram ((int32_t) 1) |
This option uses histogram to find the minimum and maximum activation range. Here the histogram is computed across all the frames used for calibration.
#define TIDL_WeightRangeMethodHistogram ((int32_t) 0) |
This option uses histogram to find the minimum and maximum weight range.
#define TIDL_WeightRangeMethodMedian ((int32_t) 1) |
This option uses median to find the minimum and maximum weight range.
#define TIDL_OptimiseExtMemL0 ((int32_t) 0) |
In this case, no optimization in output memory, output buffer will not re-use memory from previous layers, so algorithm uses more external memory. This is Currently used for debugging.
#define TIDL_OptimiseExtMemL1 ((int32_t) 1) |
In this case, output buffer will re-use memory from previous layers when they have same width and height, so algorithm uses less external memory compare to L0 case.
#define TIDL_OptimiseExtMemL2 ((int32_t) 2) |
In this case, output buffer will re-use memory from previous layers when they have different width and height, so algorithm uses less external memory compare to L1 case.
#define TIDL_Sparse ((int32_t) 0) |
In this case, only non zero coefficients are considered for convolution.
#define TIDL_Dense ((int32_t) 1) |
In this case, all coefficients are considered for convolution.
#define TIDL_StrideOffsetTopLeft ((int32_t) 0) |
#define TIDL_StrideOffsetCenter ((int32_t) 1) |
#define TIDL_StrideOffsetMax ((int32_t) 2) |
#define TIDL_MaxPooling ((int32_t) 0) |
#define TIDL_AveragePooling ((int32_t) 1) |
#define TIDL_NoAct ((int32_t) 0) |
#define TIDL_RelU ((int32_t) 1) |
#define TIDL_PRelU ((int32_t) 2) |
#define TIDL_RelU6 ((int32_t) 3) |
#define TIDL_Clip ((int32_t) 4) |
#define TIDL_Sigmoid ((int32_t) 5) |
#define TIDL_EltWiseProduct ((int32_t) 0) |
#define TIDL_EltWiseSum ((int32_t) 1) |
#define TIDL_EltWiseMax ((int32_t) 2) |
#define TIDL_DIM_BATCH ((int32_t) 0) |
#define TIDL_DIM_NUMCH ((int32_t) 1) |
#define TIDL_DIM_HEIGHT ((int32_t) 2) |
#define TIDL_DIM_WIDTH ((int32_t) 3) |
#define TIDL_DIM_MAX ((int32_t) 4) |
#define TIDL_ROI_PITCH ((uint32_t) 0) |
#define TIDL_CHANNEL_PITCH ((uint32_t) 1) |
#define TIDL_LINE_PITCH ((uint32_t) 2) |
#define TIDL_PITCH_MAX ((uint32_t) (TIDL_DIM_MAX - 1)) |
#define TIDL_E_CONVOLUTION ((int32_t) -1000) |
#define TIDL_E_CONV_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 0)) |
#define TIDL_E_CONV_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 1)) |
#define TIDL_E_CONV_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 2)) |
#define TIDL_E_CONV_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 3)) |
#define TIDL_E_CONV_INVALID_NUM_IN_CHANNELS ((int32_t) (TIDL_E_CONVOLUTION - 4)) |
#define TIDL_E_CONV_INVALID_NUM_OUT_CHANNELS ((int32_t) (TIDL_E_CONVOLUTION - 5)) |
#define TIDL_E_CONV_INVALID_KER_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 6)) |
#define TIDL_E_CONV_INVALID_KER_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 7)) |
#define TIDL_E_CONV_INVALID_KER_TYPE ((int32_t) (TIDL_E_CONVOLUTION - 8)) |
#define TIDL_E_CONV_INVALID_STRIDE_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 9)) |
#define TIDL_E_CONV_INVALID_STRIDE_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 10)) |
#define TIDL_E_CONV_NEGATIVE_OUTPUT_SHIFT ((int32_t) (TIDL_E_CONVOLUTION - 11)) |
#define TIDL_E_CONV_POOL_INVALID_POOL_TYPE ((int32_t) (TIDL_E_CONVOLUTION - 12)) |
#define TIDL_E_CONV_POOL_INVALID_KER_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 13)) |
#define TIDL_E_CONV_POOL_INVALID_KER_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 14)) |
#define TIDL_E_CONV_POOL_INVALID_STRIDE_WIDTH ((int32_t) (TIDL_E_CONVOLUTION - 15)) |
#define TIDL_E_CONV_POOL_INVALID_STRIDE_HEIGHT ((int32_t) (TIDL_E_CONVOLUTION - 16)) |
#define TIDL_E_ELTWISE ((int32_t) -1020) |
#define TIDL_E_ELTWISE_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_ELTWISE - 0)) |
#define TIDL_E_ELTWISE_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_ELTWISE - 1)) |
#define TIDL_E_ELTWISE_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_ELTWISE - 2)) |
#define TIDL_E_ELTWISE_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_ELTWISE - 3)) |
#define TIDL_E_ELTWISE_INVALID_ELTWISE_TYPE ((int32_t) (TIDL_E_ELTWISE - 4)) |
#define TIDL_E_ELTWISE_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_ELTWISE - 5)) |
#define TIDL_E_POOLING ((int32_t) -1030) |
#define TIDL_E_POOL_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_POOLING - 0)) |
#define TIDL_E_POOL_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_POOLING - 1)) |
#define TIDL_E_POOL_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_POOLING - 2)) |
#define TIDL_E_POOL_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_POOLING - 3)) |
#define TIDL_E_POOL_INVALID_POOL_TYPE ((int32_t) (TIDL_E_POOLING - 4)) |
#define TIDL_E_POOL_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_POOLING - 5)) |
#define TIDL_E_POOL_INVALID_KER_WIDTH ((int32_t) (TIDL_E_POOLING - 6)) |
#define TIDL_E_POOL_INVALID_KER_HEIGHT ((int32_t) (TIDL_E_POOLING - 7)) |
#define TIDL_E_POOL_INVALID_STRIDE_WIDTH ((int32_t) (TIDL_E_POOLING - 8)) |
#define TIDL_E_POOL_INVALID_STRIDE_HEIGHT ((int32_t) (TIDL_E_POOLING - 9)) |
#define TIDL_E_INNER_PRODUCT ((int32_t) -1040) |
#define TIDL_E_IP_INVALID_NUM_IN_NODES ((int32_t) (TIDL_E_INNER_PRODUCT - 0)) |
#define TIDL_E_IP_INVALID_NUM_OUT_NODES ((int32_t) (TIDL_E_INNER_PRODUCT - 1)) |
#define TIDL_E_IP_NEGATIVE_OUTPUT_SHIFT ((int32_t) (TIDL_E_INNER_PRODUCT - 2)) |
#define TIDL_E_ARGMAX ((int32_t) -1050) |
#define TIDL_E_ARGMAX_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_ARGMAX - 0)) |
#define TIDL_E_BN ((int32_t) -1060) |
#define TIDL_E_BN_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_BN - 0)) |
#define TIDL_E_BN_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_BN - 1)) |
#define TIDL_E_BN_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_BN - 2)) |
#define TIDL_E_BN_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_BN - 3)) |
#define TIDL_E_BN_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_BN - 4)) |
#define TIDL_E_BN_INVALID_ENABLE_RELU ((int32_t) (TIDL_E_BN - 5)) |
#define TIDL_E_BN_NEGATIVE_OUTPUT_SHIFT ((int32_t) (TIDL_E_BN - 6)) |
#define TIDL_E_CROP ((int32_t) -1070) |
#define TIDL_E_CROP_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_CROP - 0)) |
#define TIDL_E_CROP_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_CROP - 1)) |
#define TIDL_E_CROP_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_CROP - 2)) |
#define TIDL_E_CROP_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_CROP - 3)) |
#define TIDL_E_CROP_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_CROP - 4)) |
#define TIDL_E_CROP_INVALID_OFFSET_WIDTH ((int32_t) (TIDL_E_CROP - 5)) |
#define TIDL_E_CROP_INVALID_OFFSET_HEIGHT ((int32_t) (TIDL_E_CROP - 6)) |
#define TIDL_E_FLATTEN ((int32_t) -1080) |
#define TIDL_E_FLATTEN_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_FLATTEN - 0)) |
#define TIDL_E_FLATTEN_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_FLATTEN - 1)) |
#define TIDL_E_FLATTEN_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_FLATTEN - 2)) |
#define TIDL_E_FLATTEN_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_FLATTEN - 3)) |
#define TIDL_E_SOFTMAX ((int32_t) -1090) |
#define TIDL_E_SOFTMAX_INVALID_NUM_CHANNELS ((int32_t) (TIDL_E_SOFTMAX - 0)) |
#define TIDL_E_SHUFFLECHANNEL ((int32_t) -1100) |
#define TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_WIDTH ((int32_t) (TIDL_E_SHUFFLECHANNEL - 0)) |
#define TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_HEIGHT ((int32_t) (TIDL_E_SHUFFLECHANNEL - 1)) |
#define TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_WIDTH ((int32_t) (TIDL_E_SHUFFLECHANNEL - 2)) |
#define TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_HEIGHT ((int32_t) (TIDL_E_SHUFFLECHANNEL - 3)) |
#define TIDL_E_SHUFFLECHANNEL_INVALID_NUM_GROUPS ((int32_t) (TIDL_E_SHUFFLECHANNEL - 4)) |
#define TIDL_E_COMMON ((int32_t) -1110) |
#define TIDL_E_UNSUPPORTED_LAYER ((int32_t) (TIDL_E_COMMON - 0)) |
#define TIDL_E_DATAFLOW_INFO_NULL ((int32_t) (TIDL_E_COMMON - 1)) |
#define TIDL_E_INVALID_DEBUG_TRACE_PRM ((int32_t) (TIDL_E_COMMON - 2)) |
#define TIDL_E_INVALID_NET_VERSION ((int32_t) (TIDL_E_COMMON - 3)) |
#define TIDL_E_INVALID_IO_LINE_PITCH ((int32_t) (TIDL_E_COMMON - 4)) |
#define TIDL_E_QUANT_STATS_NOT_AVAILABALE ((int32_t) (TIDL_E_COMMON - 5)) |
#define TIDL_SYSMEM_L1_SCRATCH ((uint32_t) 0) |
#define TIDL_SYSMEM_L2_SCRATCH ((uint32_t) 1) |
#define TIDL_SYSMEM_L3_SCRATCH ((uint32_t) 2) |
#define TIDL_SYSMEM_DDR_SCRATCH ((uint32_t) 3) |
#define TIDL_SYSMEM_MAX ((uint32_t) 4) |
#define TIDL_EXEC_MODE_STATS_COLLECTION ((int32_t) 0) |
In this case, custom layer should calculate the min and max of buffer used for stats collection and based on that it should update the output tensor scale.
#define TIDL_EXEC_MODE_INFER_PROCESS ((int32_t) 2) |
This is the case when custom layer API is called during processing.
#define TIDL_EXEC_MODE_INFER_PROCESS_REF ((int32_t) 3) |
#define TIDL_OD_MAX_KEYPOINTS (16) |
#define TIDL_OD_MAX_ANCHORS_PER_HEAD (16) |
#define TIDL_NET_VERSION (0x20211201) |
#define TIDL_OD_MAX_KEY_POINTS (32) |
typedef float float32_tidl |
typedef double float64_tidl |
typedef int32_t(* TIDL_Lock_t) (void) |
Call back function pointer to lock interrupts.
typedef void(* TIDL_Unlock_t) (int32_t) |
Call back function pointer to unlock interrupts.
oldIntState | : previous interrupt state |
enum eTIDL_ResizeType |
enum eTIDL_RoiPoolingType |
This enumerator defines the different types of output types for the OD output reformatting layer.
enum eTIDL_metaArchType |
enum eTIDL_processingType |
enum eTIDL_inDataFormat |
enum eTIDL_inYuvFormat |
enum eTIDL_inResizeType |
enum eTIDL_inReduceOp |
|
inlinestatic |
|
inlinestatic |
const IVISION_Fxns TIDL_VISION_FXNS |
The unique const function table for the TI deep learning algorithm.