未验证 提交 159411b6 编写于 作者: F feng wang 提交者: GitHub

Implement SaveTMOpFunc for TM2_OPTYPE_MAX and TM2_OPTYPE_MIN (#1277)

* fix missing 'fprintf' 'stderr' problem

* fix missing <cstdlib> header problem.

* updated en doc to compile for NXP i.MX 8M Plus linux.

* adding timvx version mobilenet ssd

* updated makefile

* adding save func for operator maximum and minimum
Co-authored-by: NWang Feng <feng.wang1@hexagon.com>
上级 4a3eb2c5
......@@ -735,6 +735,21 @@ tm_uoffset_t SaveTmSigmoidOp(void* const start_ptr, tm_uoffset_t* cur_pos, ir_no
return WriteTmObject(start_ptr, cur_pos, &tm_op, sizeof(TM2_Operator));
}
tm_uoffset_t SaveTmMaximumOp(void* const start_ptr, tm_uoffset_t* cur_pos, ir_node_t* node)
{
TM2_Operator tm_op;
SetTmOperator(&tm_op, TM2_OPTYPE_MAX, TM2_NOT_SET);
return WriteTmObject(start_ptr, cur_pos, &tm_op, sizeof(TM2_Operator));
}
tm_uoffset_t SaveTmMinimumOp(void* const start_ptr, tm_uoffset_t* cur_pos, ir_node_t* node)
{
TM2_Operator tm_op;
SetTmOperator(&tm_op, TM2_OPTYPE_MIN, TM2_NOT_SET);
return WriteTmObject(start_ptr, cur_pos, &tm_op, sizeof(TM2_Operator));
}
tm_uoffset_t SaveTmSqueezeOp(void* const start_ptr, tm_uoffset_t* cur_pos, ir_node_t* node)
{
struct squeeze_param* p = (struct squeeze_param*)node->op.param_mem;
......@@ -1588,8 +1603,12 @@ op_save_t SaveTmOpFunc(uint32_t op_type)
return SaveTmSoftplusOp;
case OP_RECIPROCAL:
return SaveTmReciprocalOp;
case OP_MAXIMUM:
return SaveTmMaximumOp;
case OP_MINIMUM:
return SaveTmMinimumOp;
default:
// fprintf(stderr, "Operator #%d not supported in tengine model yet\n",op_type);
fprintf(stderr, "Operator #%d not supported in tengine model yet\n",op_type);
return nullptr;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册