26 #define CONVERT_RTE(x, type) (convert_##type##_rte((x))) 27 #define CONVERT_RTE_VEC_STR(x, type, size) (convert_##type##size##_rte((x))) 28 #define CONVERT_RTE_VEC(x, type, size) CONVERT_RTE_VEC_STR(x, type, size) 30 #if defined(VEC_SIZE) && defined(DATA_TYPE_IN) && defined(DATA_TYPE_OUT) && defined(SCALE) && defined(OFFSET) && defined(MIN_QUANT_VAL) && defined(MAX_QUANT_VAL) 68 #if defined(VEC_SIZE) && defined(LAST_ACCESSED_X) 71 const int xi = (int)(get_global_id(0) *
VEC_SIZE);
72 input.
ptr -= max(xi - (
int)LAST_ACCESSED_X, 0) * input_stride_x;
73 output.
ptr -= max(xi - (
int)LAST_ACCESSED_X, 0) * output_stride_x;
84 #else // defined(IS_FLOAT) 95 #endif // defined(IS_FLOAT) 105 *((__global DATA_TYPE_OUT *)(output.ptr)) = (DATA_TYPE_OUT)CLAMP(CONVERT_RTE(((float) * (__global DATA_TYPE_IN *)input.ptr) / ((float)SCALE), int) + (int)OFFSET, MIN_QUANT_VAL, MAX_QUANT_VAL);
106 #endif // defined(VEC_SIZE) && defined(LAST_ACCESSED_X) 108 #endif // defined(VEC_SIZE) && defined(DATA_TYPE_IN) && defined(DATA_TYPE_OUT) && defined(SCALE) && defined(OFFSET) && defined(MIN_QUANT_VAL) && defined(MAX_QUANT_VAL) SimpleTensor< Tout > quantization_layer(const SimpleTensor< Tin > &src, DataType output_data_type, const QuantizationInfo &quantization_info)
Structure to hold 3D tensor information.
#define CLAMP(x, min_val, max_val)
Clamp the given value between an upper and lower bound.
#define CONVERT_RTE_VEC(x, type, size)
#define CONVERT_TO_TENSOR3D_STRUCT(name)
__global uchar * ptr
Pointer to the starting postion of the buffer.
#define TENSOR3D_DECLARATION(name)
#define VEC_DATA_TYPE(type, size)