昇腾CANN/GE UDF接口列表
UDF接口列表【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge本文档主要描述UDFUser Defined Function模块对外提供的接口用户可以调用这些接口进行自定义处理函数的开发然后通过DataFlow构图在CPU上执行该处理函数。您可以在CANN软件安装后文件存储路径下的“python/site-packages/dataflow/flow_func/flow_func.py”查看对应接口的实现。接口列表如下。FlowMsg类用于处理FlowFunc输入输出的相关操作。表 1FlowMsg类接口接口名称简介FlowMsg构造函数FlowMsg的构造函数。get_msg_typeUDF获取FlowMsg的消息类型。get_tensor获取FlowMsg中的tensor对象。set_ret_code设置FlowMsg消息中的错误码。get_ret_code获取输入FlowMsg消息中的错误码。set_start_time设置FlowMsg消息头中的开始时间戳。get_start_time获取FlowMsg消息中的开始时间戳。set_end_time设置FlowMsg消息头中的结束时间戳。get_end_time获取FlowMsg消息中的结束时间戳。set_flow_flags设置FlowMsg消息头中的flags。get_flow_flags获取FlowMsg消息头中的flags。set_route_label设置路由的标签。get_transaction_id获取FlowMsg消息中的事务ID事务Id从1开始计数每feed一批数据事务Id会加一可用于识别哪一批数据。set_msg_type设置FlowMsg的消息类型。get_raw_data获取rawdata类型的数据。set_transaction_id设置DataFlow数据传输使用的事务ID。Tensor类用于执行Tensor的相关操作。这里获取的Tensor是dataflow.Tensor。表 2Tensor类接口接口名称简介Tensor构造函数Tensor构造函数。get_shape获取Tensor的Shape。get_data_type获取Tensor中的数据类型。get_data_size获取Tensor中的数据大小。get_element_cnt获取Tensor中的元素的个数。reshape对tensor进行Reshape操作不改变tensor的内容。MetaParams类使用该类获取共享的变量信息。表 3MetaParams类接口接口名称简介PyMetaParams构造函数PyMetaParams构造函数。get_name获取Flowfunc的实例名。get_attr_int获取指定名称的int类型属性值。get_attr_bool_list获取指定名称的bool数组类型属性值。get_attr_int_list获取指定名称的int数组类型属性值。get_attr_int_list_list获取指定名称的int二维数组类型属性值。get_attr_bool获取指定名称的bool类型属性值。get_attr_float_list获取指定名称的float数组类型属性值。get_attr_tensor_dtype获取指定名称的numpy dtype类型的属性值。get_attr_tensor_dtype_list获取指定名称的numpy dtype数组类型的属性值。get_attr_str获取指定名称的string类型的属性值。get_attr_str_list获取指定名称的string数组类型的属性值。get_attr_float获取指定名称的float类型属性值。get_input_num获取Flowfunc的输入个数。get_output_num获取Flowfunc的输出个数。get_work_path获取Flowfunc的工作路径。get_running_device_id获取正在运行的设备ID。MetaRunContext类用于FlowFunc处理函数的上下文信息相关处理如申请Tensor、设置输出、运行FlowModel等操作。表 4MetaRunContext类接口接口名称简介MetaRunContext构造函数MetaRunContext构造函数。alloc_tensor_msg根据shape、data type以及对齐大小申请tensor类型的FlowMsg。set_output设置指定index的output的tensor。set_multi_outputs批量设置指定index的output的tensor。run_flow_model同步执行指定的模型。alloc_empty_data_msg申请空数据的MsgType类型的message。get_user_dataUDF获取用户定义数据。raise_exceptionUDF主动上报异常。get_exceptionUDF获取其他UDF节点上报的异常。alloc_raw_data_msg根据输入的size申请一块连续内存用于承载raw data类型的FlowMsg。to_flow_msg将dataflow Tensor转换成FlowMsg。AffinityPolicy类表 5AffinityPolicy类接口接口名称简介AffinityPolicy类亲和策略枚举定义。BalanceConfig类当需要均衡分发时需要设置输出数据标识和权重矩阵相关配置信息根据配置调度模块可以完成多实例之间的均衡分发。表 6BalanceConfig类接口接口名称简介BalanceConfig构造函数BalanceConfig构造函数。set_data_pos设置输出数据对应权重矩阵中的位置。get_inner_config获取内部配置对象被set_output或者set_multi_outputs调用。FlowMsgQueue类流式输入场景下即flow func函数入参为队列时用于flow func的输入队列队列中的FlowMsg出队后会根据MsgType转换为对应的数据类型返回给用户。表 7FlowMsgQueue类接口接口名称简介FlowMsgQueue构造函数FlowMsgQueue构造函数和析构函数。get获取队列中的元素。get_nowait无等待地获取队列中的元素功能等同于get(blockFalse)。full判断队列是否满。full判断队列是否为空。qsize获取队列中当前元素的个数。UDF日志接口UDF Python开放了日志记录接口使用时导入flow_func模块。使用其中定义的logger对象调用logger对象封装的不同级别的日志接口。表 8UDF日志接口接口名称简介FlowFuncLogger构造函数FlowFuncLogger构造函数。get_log_header获取日志扩展头信息。is_log_enable查询对应级别和类型的日志是否开启。运行日志Error级别日志宏运行日志Error级别日志宏。运行日志Info级别日志宏运行日志Info级别日志宏。调试日志Error级别日志宏调试日志Error级别日志宏。调试日志Warn级别日志宏调试日志Warn级别日志宏。调试日志Info级别日志宏调试日志Info级别日志宏。调试日志Debug级别日志宏调试日志Debug级别日志宏。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2598767.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!