CANN/metadef动态算子自动映射
AutoMappingByOpFnDynamic【免费下载链接】metadefAscend Metadata Definition项目地址: https://gitcode.com/cann/metadef函数功能动态输入/输出算子的自动映射回调函数。函数原型Status AutoMappingByOpFnDynamic(const ge::Operator op_src, ge::Operator op, const std::vectorDynamicInputOutputInfo dynamic_name_attr_value)参数说明参数输入/输出说明op_src输入转换前原始模型中的算子包含原始模型中算子的属性。op输入适配昇腾AI处理器的算子。dynamic_name_attr_value输入描述动态输入输出实际个数DynamicInputOutputInfo数据结构请参见DynamicInputOutputInfo数据结构说明。DynamicInputOutputInfo数据结构说明constexpr int64_t kMaxNameLength 1048576; // 1M enum DynamicType : int16_t { kInvalid 0, kInput 1, kOutput 2 }; struct DynamicInputOutputInfo { DynamicType type; // input/output const char_t *port_name; int64_t port_name_len; const char_t *attr_name; int64_t attr_name_len; DynamicInputOutputInfo(const DynamicType type_instance, const char_t *const port_name_instance, const int64_t port_name_len_instance, const char_t *const attr_name_instance, const int64_t attr_name_len_instance) : type(type_instance), port_name(port_name_instance), port_name_len(port_name_len_instance), attr_name(attr_name_instance), attr_name_len(attr_name_len_instance) {} DynamicInputOutputInfo() : DynamicInputOutputInfo(kInvalid, nullptr, 0L, nullptr, 0L) {} };参数说明type指定是动态输入或输出。0无效值1输入2输出port_name端口名字输入或者输出的Name。port_name_len端口名字长度最大长度为kMaxNameLength。attr_name属性名字。attr_name_len属性名字长度最大长度为kMaxNameLength。调用示例Status QueueDequeueUpToMapping(const ge::Operator op_src, ge::Operator op) { vectorDynamicInputOutputInfo dynamic_name_attr_value; string port_name components; string attr_name component_types; DynamicInputOutputInfo name_attr(kOutput, port_name.c_str(), port_name.size(), attr_name.c_str(), attr_name.size()); dynamic_name_attr_value.push_back(name_attr); AutoMappingByOpFnDynamic(op_src, op, dynamic_name_attr_value); return SUCCESS; } REGISTER_CUSTOM_OP(QueueDequeueUpTo) .FrameworkType(TENSORFLOW) .OriginOpType(QueueDequeueUpToV2) .ParseParamsByOperatorFn(QueueDequeueUpToMapping) .ImplyType(ImplyType::AI_CPU);【免费下载链接】metadefAscend Metadata Definition项目地址: https://gitcode.com/cann/metadef创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考