业务处理方法、装置及设备.pdf

上传人:刘** 文档编号:10158640 上传时间:2021-06-09 格式:PDF 页数:31 大小:666.63KB
收藏 版权申诉 举报 下载
业务处理方法、装置及设备.pdf_第1页
第1页 / 共31页
业务处理方法、装置及设备.pdf_第2页
第2页 / 共31页
业务处理方法、装置及设备.pdf_第3页
第3页 / 共31页
文档描述:

《业务处理方法、装置及设备.pdf》由会员分享,可在线阅读,更多相关《业务处理方法、装置及设备.pdf(31页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010954140.8 (22)申请日 2020.09.11 (71)申请人 杭州海康威视数字技术股份有限公 司 地址 310051 浙江省杭州市滨江区阡陌路 555号 (72)发明人 童超 (74)专利代理机构 北京博思佳知识产权代理有 限公司 11415 代理人 杨春香 (51)Int.Cl. G06F 8/74(2018.01) G06F 8/71(2018.01) G06N 20/00(2019.01) G06N 3/08(2006.01) (54)发明名称 一种业。

2、务处理方法、 装置及设备 (57)摘要 本申请提供一种业务处理方法、 装置及设 备, 该方法包括: 获取与目标业务对应的目标计 算流图; 根据所述目标计算流图获取与目标业务 对应的待执行程序, 并根据所述目标计算流图获 取与所述待执行程序对应的配置文件; 通过所述 待执行程序和所述配置文件对待处理数据进行 业务处理, 得到与所述目标业务匹配的业务处理 结果。 通过本申请的技术方案, 能够使用机器学 习技术实现各种类型的业务处理, 能够实现基于 计算流图的应用开发框架。 权利要求书3页 说明书21页 附图6页 CN 112099848 A 2020.12.18 CN 112099848 A 1.。

3、一种业务处理方法, 其特征在于, 所述方法包括: 获取与目标业务对应的目标计算流图; 其中, 所述目标计算流图至少包括多个操作节 点, 各操作节点的功能类型, 以及所述多个操作节点的连接关系; 根据所述目标计算流图获取与目标业务对应的待执行程序, 并根据所述目标计算流图 获取与所述待执行程序对应的配置文件; 其中, 所述待执行程序包括多个可执行文件, 所述 多个可执行文件与所述多个操作节点的功能类型相对应; 所述配置文件包括所述多个可执 行文件的输入输出关系, 所述多个可执行文件的输入输出关系基于所述多个操作节点的连 接关系确定; 通过所述待执行程序和所述配置文件对待处理数据进行业务处理, 得。

4、到与所述目标业 务匹配的业务处理结果; 其中, 针对所述待执行程序内的每个可执行文件, 对本可执行文件 的输入数据进行处理, 得到数据处理结果, 并基于所述配置文件中的输入输出关系, 将所述 可执行文件的所述数据处理结果输出给与所述可执行文件具有输出关系的下一个可执行 文件。 2.根据权利要求1所述的方法, 其特征在于, 所述获取与目标业务对应的目标计算流图, 包括: 获取与目标业务对应的初始计算流图; 其中, 所述初始计算流图至少包括多个操作节 点, 各操作节点的功能类型, 以及所述多个操作节点的连接关系; 根据所述初始计算流图获取所述目标计算流图; 或者, 对所述初始计算流图进行优化, 并。

5、根据优化后的计算流图获取所述目标计算流图。 3.根据权利要求2所述的方法, 其特征在于, 所述对所述初始计算流图进行优化, 包括: 对所述初始计算流图的操作节点和/或操作节点的连接关系进行优化处理, 得到优化 后的计算流图; 其中, 所述优化处理包括如下处理的至少一种: 拆分处理, 合并处理, 内存共 享处理, 硬件加速处理, 执行顺序调整处理。 4.根据权利要求1所述的方法, 其特征在于, 所述根据所述目标计算流图获取与目标业务对应的待执行程序, 包括: 基于所述目标计算流图中的每个操作节点的功能类型, 确定与该操作节点对应的可执 行文件, 所述可执行文件为用于实现所述功能类型的可执行文件;。

6、 基于所述目标计算流图中的多个操作节点对应的多个可执行文件, 获取与目标业务对 应的待执行程序。 5.根据权利要求4所述的方法, 其特征在于, 所述基于所述目标计算流图中的每个操作 节点的功能类型, 确定与该操作节点对应的可执行文件, 包括: 针对目标计算流图中的每个操作节点, 基于该操作节点的功能类型, 从算子库中选取 用于实现所述功能类型的可执行文件; 其中, 所述算子库包括预先存储的多个可执行文件, 各可执行文件用于实现至少一种功能类型; 将选取的可执行文件确定为与该操作节点对应的可执行文件。 6.根据权利要求5所述的方法, 其特征在于, 所述基于该操作节点的功能类型, 从算子 库中选取。

7、用于实现所述功能类型的可执行文件之前, 还包括: 接收用户终端发送的注册消息, 所述注册消息包括代码文件; 权利要求书 1/3 页 2 CN 112099848 A 2 将所述代码文件转换为用于实现至少一种功能类型的可执行文件; 将所述可执行文件存储到所述算子库中。 7.根据权利要求1所述的方法, 其特征在于, 所述待执行程序包括数据处理子程序, 模 型推理子程序, 后处理子程序; 所述通过所述待执行程序和所述配置文件对待处理数据进行业务处理, 得到与所述目 标业务匹配的业务处理结果, 包括: 基于所述配置文件中的输入输出关系, 确定数据处理子程序的输出是模型推理子程 序, 模型推理子程序的输。

8、入是数据处理子程序; 以及, 确定模型推理子程序的输出是后处理 子程序, 后处理子程序的输入是模型推理子程序; 将待处理数据输入给数据处理子程序; 所述数据处理子程序对待处理数据进行预处 理, 将预处理完成后的数据输入给模型推理子程序; 所述模型推理子程序对数据进行模型 推理, 将模型推理完成后的数据输入给后处理子程序; 所述后处理子程序对数据进行后处 理, 得到与所述目标业务匹配的业务处理结果。 8.根据权利要求1所述的方法, 其特征在于, 所述通过所述待执行程序和所述配置文件对待处理数据进行业务处理, 得到与所述目 标业务匹配的业务处理结果之前, 所述方法还包括: 若所述目标计算流图还包括。

9、与操作节点对应的网络参数, 针对所述待执行程序中与所 述操作节点对应的可执行文件, 在该可执行文件中加载所述网络参数, 将加载所述网络参 数后的可执行文件添加到所述待执行程序中; 或, 针对所述待执行程序中需要加载网络模型的可执行文件, 从模型池中获取与该可执行 文件对应的网络模型, 在该可执行文件中加载所述网络模型, 将加载所述网络模型后的可 执行文件添加到所述待执行程序中。 9.根据权利要求8所述的方法, 其特征在于, 所述从模型池中获取与该可执行文件对应的网络模型之前, 还包括: 获取已经完成训练的机器学习网络模型; 对所述机器学习网络模型进行指定处理, 得到处理后的网络模型; 将所述处。

10、理后的网络模型存储在所述模型池中。 10.根据权利要求9所述的方法, 其特征在于, 所述指定处理包括如下处理的至少一种: 量化处理, 封装处理, 编译处理和加密处理; 在对机器学习网络模型进行封装处理时, 对模型标识, 模型业务解析信息, 运行平台信 息, 模型版本信息的至少一种进行封装。 11.一种业务处理装置, 其特征在于, 所述装置包括: 获取模块, 用于获取与目标业务对应的目标计算流图; 其中, 所述目标计算流图至少包 括多个操作节点, 各操作节点的功能类型, 以及所述多个操作节点的连接关系; 根据所述目 标计算流图获取与目标业务对应的待执行程序, 并根据所述目标计算流图获取与所述待执。

11、 行程序对应的配置文件; 其中, 所述待执行程序包括多个可执行文件, 所述多个可执行文件 与所述多个操作节点的功能类型相对应; 所述配置文件包括所述多个可执行文件的输入输 出关系, 所述多个可执行文件的输入输出关系基于所述多个操作节点的连接关系确定; 处理模块, 用于通过所述待执行程序和所述配置文件对待处理数据进行业务处理, 得 权利要求书 2/3 页 3 CN 112099848 A 3 到与所述目标业务匹配的业务处理结果; 其中, 针对所述待执行程序内的每个可执行文件, 对本可执行文件的输入数据进行处理, 得到数据处理结果, 并基于所述配置文件中的输入 输出关系, 将所述可执行文件的所述数。

12、据处理结果输出给与所述可执行文件具有输出关系 的下一个可执行文件。 12.一种业务处理设备, 其特征在于, 包括: 处理器和机器可读存储介质, 所述机器可读 存储介质存储有能够被所述处理器执行的机器可执行指令; 所述处理器用于执行机器可执行指令, 以实现如下的步骤: 获取与目标业务对应的目标计算流图; 其中, 所述目标计算流图至少包括多个操作节 点, 各操作节点的功能类型, 以及所述多个操作节点的连接关系; 根据所述目标计算流图获取与目标业务对应的待执行程序, 并根据所述目标计算流图 获取与所述待执行程序对应的配置文件; 其中, 所述待执行程序包括多个可执行文件, 所述 多个可执行文件与所述多。

13、个操作节点的功能类型相对应; 所述配置文件包括所述多个可执 行文件的输入输出关系, 所述多个可执行文件的输入输出关系基于所述多个操作节点的连 接关系确定; 通过所述待执行程序和所述配置文件对待处理数据进行业务处理, 得到与所述目标业 务匹配的业务处理结果; 其中, 针对所述待执行程序内的每个可执行文件, 对本可执行文件 的输入数据进行处理, 得到数据处理结果, 并基于所述配置文件中的输入输出关系, 将所述 可执行文件的所述数据处理结果输出给与所述可执行文件具有输出关系的下一个可执行 文件。 权利要求书 3/3 页 4 CN 112099848 A 4 一种业务处理方法、 装置及设备 技术领域 。

14、0001 本申请涉及人工智能技术领域, 尤其是一种业务处理方法、 装置及设备。 背景技术 0002 机器学习是实现人工智能的一种途径, 是一门多领域交叉学科, 涉及概率论、 统计 学、 逼近论、 凸分析、 算法复杂度理论等多门学科。 机器学习用于研究计算机如何模拟或实 现人类的学习行为, 以获取新的知识或技能, 重新组织已有的知识结构使之不断改善自身 的性能。 机器学习更加注重算法设计, 使计算机能够自动地从数据中学习规律, 并利用规律 对未知数据进行预测。 0003 机器学习已经有了十分广泛的应用, 例如: 数据挖掘、 计算机视觉、 自然语言处理、 生物特征识别、 搜索引擎、 医学诊断、 检。

15、测信用卡欺诈、 证券市场分析、 DNA序列测序、 语音和 手写识别、 战略游戏和机器人运用等等。 0004 虽然机器学习技术得到了广泛应用, 但是, 如何使用机器学习技术实现各种类型 的业务处理, 如人脸检测, 车辆检测等, 目前并没有合理的实现方式。 发明内容 0005 本申请提供一种业务处理方法, 所述方法包括: 0006 获取与目标业务对应的目标计算流图; 其中, 所述目标计算流图至少包括多个操 作节点, 各操作节点的功能类型, 以及所述多个操作节点的连接关系; 0007 根据所述目标计算流图获取与目标业务对应的待执行程序, 并根据所述目标计算 流图获取与所述待执行程序对应的配置文件; 。

16、其中, 所述待执行程序包括多个可执行文件, 所述多个可执行文件与所述多个操作节点的功能类型相对应; 所述配置文件包括所述多个 可执行文件的输入输出关系, 所述多个可执行文件的输入输出关系基于所述多个操作节点 的连接关系确定; 0008 通过所述待执行程序和所述配置文件对待处理数据进行业务处理, 得到与所述目 标业务匹配的业务处理结果; 其中, 针对所述待执行程序内的每个可执行文件, 对本可执行 文件的输入数据进行处理, 得到数据处理结果, 并基于所述配置文件中的输入输出关系, 将 所述可执行文件的所述数据处理结果输出给与所述可执行文件具有输出关系的下一个可 执行文件。 0009 本申请提供一种。

17、业务处理装置, 所述装置包括: 0010 获取模块, 用于获取与目标业务对应的目标计算流图; 其中, 所述目标计算流图至 少包括多个操作节点, 各操作节点的功能类型, 以及所述多个操作节点的连接关系; 根据所 述目标计算流图获取与目标业务对应的待执行程序, 并根据所述目标计算流图获取与所述 待执行程序对应的配置文件; 其中, 所述待执行程序包括多个可执行文件, 所述多个可执行 文件与所述多个操作节点的功能类型相对应; 所述配置文件包括所述多个可执行文件的输 入输出关系, 所述多个可执行文件的输入输出关系基于所述多个操作节点的连接关系确 说明书 1/21 页 5 CN 112099848 A 5。

18、 定; 0011 处理模块, 用于通过所述待执行程序和所述配置文件对待处理数据进行业务处 理, 得到与所述目标业务匹配的业务处理结果; 其中, 针对所述待执行程序内的每个可执行 文件, 对本可执行文件的输入数据进行处理, 得到数据处理结果, 并基于所述配置文件中的 输入输出关系, 将所述可执行文件的所述数据处理结果输出给与所述可执行文件具有输出 关系的下一个可执行文件。 0012 本申请提供一种业务处理设备, 包括: 处理器和机器可读存储介质, 所述机器可读 存储介质存储有能够被所述处理器执行的机器可执行指令; 0013 所述处理器用于执行机器可执行指令, 以实现如下的步骤: 0014 获取与。

19、目标业务对应的目标计算流图; 其中, 所述目标计算流图至少包括多个操 作节点, 各操作节点的功能类型, 以及所述多个操作节点的连接关系; 0015 根据所述目标计算流图获取与目标业务对应的待执行程序, 并根据所述目标计算 流图获取与所述待执行程序对应的配置文件; 其中, 所述待执行程序包括多个可执行文件, 所述多个可执行文件与所述多个操作节点的功能类型相对应; 所述配置文件包括所述多个 可执行文件的输入输出关系, 所述多个可执行文件的输入输出关系基于所述多个操作节点 的连接关系确定; 0016 通过所述待执行程序和所述配置文件对待处理数据进行业务处理, 得到与所述目 标业务匹配的业务处理结果;。

20、 其中, 针对所述待执行程序内的每个可执行文件, 对本可执行 文件的输入数据进行处理, 得到数据处理结果, 并基于所述配置文件中的输入输出关系, 将 所述可执行文件的所述数据处理结果输出给与所述可执行文件具有输出关系的下一个可 执行文件。 0017 由以上技术方案可见, 本申请实施例中, 可以基于与目标业务对应的目标计算流 图获取待执行程序和配置文件, 通过待执行程序和配置文件对待处理数据进行业务处理, 目标计算流图包括多个操作节点及各操作节点的功能类型, 待执行程序包括与多个操作节 点对应的多个可执行文件, 配置文件包括多个可执行文件的输入输出关系, 这些可执行文 件能够实现机器学习, 在基。

21、于多个可执行文件对待处理数据进行业务处理时, 能够使用机 器学习技术实现各种类型的业务处理, 如人脸检测, 车辆检测等。 能够实现基于计算流图的 应用开发框架, 利用机器学习模型来构建计算流图, 处理各种多模态数据(如音视频数据和 传感器数据等)的分析任务, 且可以运行在各种硬件平台上。 应用开发框架可以涉及机器学 习模型的推理运算, 支持用户快速添加或利用已有的通用图像处理和机器学习模型快速搭 建目标业务, 根据不同硬件平台的硬件资源情况, 进行针对性优化, 平衡资源使用和业务处 理效果, 最大化的利用硬件资源。 附图说明 0018 为了更加清楚地说明本申请实施例或者现有技术中的技术方案, 。

22、下面将对本申请 实施例或者现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的 附图仅仅是本申请中记载的一些实施例, 对于本领域普通技术人员来讲, 还可以根据本申 请实施例的这些附图获得其他的附图。 0019 图1是本申请一种实施方式中的业务处理方法的流程图; 说明书 2/21 页 6 CN 112099848 A 6 0020 图2A是本申请一种实施方式中的目标业务的拆分示意图; 0021 图2B是本申请一种实施方式中的计算流图的示意图; 0022 图2C是本申请一种实施方式中的待执行程序的示意图; 0023 图2D是本申请一种实施方式中的执行调度的流程示意图; 0024。

23、 图3A是本申请一种实施方式中的应用开发框架的示意图; 0025 图3B是本申请一种实施方式中的模型封装导入的处理示意图; 0026 图4是本申请一种实施方式中的业务处理装置的结构图; 0027 图5是本申请一种实施方式中的业务处理设备的结构图。 具体实施方式 0028 在本申请实施例使用的术语仅仅是出于描述特定实施例的目的, 而非限制本申 请。 本申请和权利要求书中所使用的单数形式的 “一种” 、“所述” 和 “该” 也旨在包括多数形 式, 除非上下文清楚地表示其它含义。 还应当理解, 本文中使用的术语 “和/或” 是指包含一 个或多个相关联的列出项目的任何或所有可能组合。 0029 应当理。

24、解, 尽管在本申请实施例可能采用术语第一、 第二、 第三等来描述各种信 息, 但这些信息不应限于这些术语。 这些术语仅用来将同一类型的信息彼此区分开。 例如, 在不脱离本申请范围的情况下, 第一信息也可以被称为第二信息, 类似地, 第二信息也可以 被称为第一信息。 取决于语境, 此外, 所使用的词语 “如果” 可以被解释成为 “在时” 或 “当时” 或 “响应于确定” 。 0030 在介绍本申请的技术方案之前, 先介绍与本申请实施例有关的概念。 0031 机器学习: 机器学习是实现人工智能的一种途径, 用于研究计算机如何模拟或实 现人类的学习行为, 以获取新的知识或技能, 重新组织已有的知识结。

25、构使之不断改善自身 性能。 深度学习属于机器学习的子类, 是一种使用数学模型对真实世界中的特定问题进行 建模, 以解决该领域内相似问题的过程。 神经网络是深度学习的实现方式, 为了方便描述, 本文以神经网络为例, 介绍神经网络的结构和功能, 对于机器学习的其它子类, 与神经网络 的结构和功能类似。 0032 神经网络: 神经网络包括但不限于卷积神经网络(简称CNN)、 循环神经网络(简称 RNN)、 全连接网络等, 神经网络的结构单元包括但不限于卷积层(Conv)、 池化层(Pool)、 激 励层、 全连接层(FC)等, 对此不做限制。 0033 在实际应用中, 可以根据不同需求, 将一个或多。

26、个卷积层, 一个或多个池化层, 一 个或多个激励层, 以及一个或多个全连接层进行组合构建神经网络。 0034 在卷积层中, 通过使用卷积核对输入数据特征进行卷积运算, 使输入数据特征增 强, 该卷积核可以是m*n大小的矩阵, 卷积层的输入数据特征与卷积核进行卷积, 可以得到 卷积层的输出数据特征, 卷积运算实际是一个滤波过程。 0035 在池化层中, 通过对输入数据特征(如卷积层的输出)进行取最大值、 取最小值、 取 平均值等操作, 从而利用局部相关性的原理, 对输入数据特征进行子抽样, 减少处理量, 并 保持特征不变性, 池化层运算实际是一个降采样过程。 0036 在激励层中, 可以使用激活。

27、函数(如非线性函数)对输入数据特征进行映射, 从而 引入非线性因素, 使得神经网络通过非线性的组合增强表达能力。 说明书 3/21 页 7 CN 112099848 A 7 0037 该激活函数可以包括但不限于ReLU(Rectified Linear Units, 整流线性单元)函 数, 该ReLU函数用于将小于0的特征置0, 而大于0的特征保持不变。 0038 在全连接层中, 用于将输入给本全连接层的所有数据特征进行全连接处理, 从而 得到一个特征向量, 且该特征向量中可以包括多个数据特征。 0039 以下结合具体实施例, 对本申请实施例的技术方案进行说明。 0040 本申请实施例中提出一。

28、种业务处理方法, 参见图1所示, 为业务处理方法的流程示 意图, 该方法可以应用于任意设备, 该方法可以包括以下步骤: 0041 步骤101, 获取与目标业务对应的目标计算流图, 该目标计算流图至少可以包括多 个操作节点, 各操作节点的功能类型, 以及多个操作节点的连接关系。 0042 在一种可能的实施方式中, 可以采用如下方式获取目标计算流图: 0043 步骤1011, 获取与目标业务对应的初始计算流图, 该初始计算流图至少可以包括 多个操作节点, 各操作节点的功能类型, 以及多个操作节点的连接关系。 0044 示例性的, 本实施例中提出一种应用开发框架, 各用户可以基于应用开发框架实 现自。

29、身的业务, 为区分方便, 将该业务称为目标业务, 如人脸检测, 人体检测, 车辆检测等 等, 对此目标业务不做限制。 比如说, 目标业务可以为用于实现人脸检测和性别检测的业 务, 参见图2A所示, 为目标业务的示意图。 0045 示例性的, 针对目标业务来说, 可以将该目标业务拆分为多个功能, 参见图2A所 示, 可以将用于实现人脸检测和性别检测的目标业务拆分为视频解码功能, 图像缩放功能, 人脸检测功能, 图像抠图功能, 人脸性别分类功能。 0046 基于目标业务的上述功能, 目标业务的处理过程可以依次为, 针对输入数据(如视 频图像), 先对该输入数据进行视频解码处理, 然后, 对视频解码。

30、处理后的数据进行图像缩 放处理, 然后, 对图像缩放处理后的数据进行人脸检测处理, 然后, 对人脸检测处理后的数 据进行图像抠图处理, 然后, 对图像抠图处理后的数据进行人脸性别分类处理, 最终, 可以 输出人脸框和性别。 0047 针对目标业务的每个功能, 可以对应一个操作节点, 在将目标业务拆分为多个功 能后, 可以获取到与多个功能对应的多个操作节点, 在与目标业务对应的初始计算流图中, 可以包括多个操作节点以及各操作节点的功能类型。 0048 例如, 将目标业务拆分为视频解码功能, 图像缩放功能, 人脸检测功能, 图像抠图 功能, 人脸性别分类功能后, 可以获取到与视频解码功能对应的视频。

31、解码操作节点, 与图像 缩放功能对应的图像缩放操作节点, 与人脸检测功能对应的人脸检测操作节点, 与图像抠 图功能对应的图像抠图操作节点, 与人脸性别分类功能对应的人脸性别分类操作节点, 即 初始计算流图包括视频解码操作节点, 图像缩放操作节点, 人脸检测操作节点, 图像抠图操 作节点, 人脸性别分类操作节点。 又例如, 初始计算流图可以包括操作节点1以及操作节点1 的功能类型 “视频解码功能” 、 操作节点2以及操作节点2的功能类型 “图像缩放功能” 、 操作 节点3以及操作节点3的功能类型 “人脸检测功能” 、 操作节点4以及操作节点4的功能类型 “图像抠图功能” 、 操作节点5以及操作节。

32、点5的功能类型 “人脸性别分类功能” 。 为了方便描 述, 以前面一种情况为例。 0049 示例性的, 关于多个操作节点的连接关系, 可以基于目标业务的多个功能的关系 确定, 比如说, 参见图2A所示, 由于对视频解码处理后的数据进行图像缩放处理, 并对视频 说明书 4/21 页 8 CN 112099848 A 8 解码处理后的数据进行图像抠图处理, 因此, 视频解码操作节点与图像缩放操作节点连接, 且视频解码操作节点与图像缩放操作节点连接。 由于对图像缩放后的数据进行人脸检测处 理, 因此, 图像缩放操作节点与人脸检测操作节点连接。 由于对人脸检测后的数据进行图像 抠图处理, 因此, 人脸。

33、检测操作节点与图像抠图操作节点连接。 由于对图像抠图后的数据进 行人脸性别分类处理, 因此, 图像抠图操作节点与人脸性别分类操作节点连接。 0050 综上所述, 可以获取到视频解码操作节点, 图像缩放操作节点, 人脸检测操作节 点, 图像抠图操作节点, 人脸性别分类操作节点之间的连接关系, 至此, 得到与目标业务对 应的初始计算流图, 参见图2B所示, 为初始计算流图的示例。 0051 示例性的, 初始计算流图还可以包括子图, 且子图由至少一个操作节点组成, 比如 说, 可以将视频解码操作节点和图像缩放操作节点合并为一个子图1, 即初始计算流图包括 子图1, 人脸检测操作节点, 图像抠图操作节。

34、点, 人脸性别分类操作节点, 且子图1包括视频 解码操作节点和图像缩放操作节点。 综上所述, 初始计算流图是一个分层结构, 在初始计算 流图的第一层, 包括子图1, 人脸检测操作节点, 图像抠图操作节点, 人脸性别分类操作节 点, 在初始计算流图的第二层, 包括视频解码操作节点和图像缩放操作节点。 0052 示例性的, 针对初始计算流图来说, 该初始计算流图中的各操作节点之间的连接 关系可以包括顺序执行关系, 比如说, 操作节点1与操作节点2连接, 操作节点2与操作节点3 连接, 操作节点3与操作节点5连接等。 0053 针对初始计算流图来说, 该初始计算流图中的各操作节点之间的连接关系可以包。

35、 括判断执行关系, 比如说, 操作节点1与操作节点2连接, 且操作节点1与操作节点3连接, 针 对操作节点1来说, 当满足条件A时, 操作节点1的输出与操作节点2连接, 当满足条件B时, 操 作节点1的输出与操作节点3连接。 0054 针对初始计算流图来说, 该初始计算流图中的各操作节点之间的连接关系可以包 括循环执行关系, 比如说, 操作节点1与操作节点2连接, 操作节点2又与操作节点1连接, 即, 操作节点1的输出与操作节点2连接, 操作节点2的输出又与操作节点1连接, 操作节点1的输 出又与操作节点2连接, 以此类推, 一直到满足预设条件时, 跳出上述操作节点1与操作节点 2的连接关系。。

36、 0055 当然, 顺序执行关系, 判断执行关系和循环执行关系只是连接关系的几个示例, 对 此连接关系不做限制, 只要各操作节点之间具有连接关系即可。 0056 示例性的, 为了得到初始计算流图, 可以采用如下方式: 0057 方式一、 将目标业务拆分为多个功能, 对此拆分方式不做限制, 只要多个功能组合 起来能够实现目标业务即可。 然后, 获取与多个功能对应的多个操作节点, 即通过操作节点 的名称可以体现与该操作节点对应的功能。 然后, 基于目标业务的多个功能的关系确定多 个操作节点的连接关系, 比如说, 对功能1的输出数据进行功能2的处理时, 则功能1对应的 操作节点与功能2对应的操作节点。

37、连接。 然后, 基于多个操作节点以及多个操作节点的连接 关系生成与目标业务对应的初始计算流图, 该初始计算流图包括多个操作节点, 各操作节 点的功能类型(可以通过操作节点的名称体现该操作节点的功能类型), 以及多个操作节点 的连接关系, 参见图2B所示, 为初始计算流图的示意图。 0058 示例性的, 可以识别出目标业务中的关键步骤, 基于这些关键步骤将目标业务拆 分为多个功能, 目标业务中的每个关键步骤表示目标业务的一个功能。 说明书 5/21 页 9 CN 112099848 A 9 0059 示例性的, 初始计算流图是用于描述目标业务处理的数据流图。 0060 示例性的, 本实施例中的计。

38、算流图也可以称为数据流图, 或计算图等。 0061 方式二、 接收用户输入的与目标业务对应的计算流图配置文件, 计算流图配置文 件包括多个操作节点, 各操作节点的功能类型, 以及多个操作节点的连接关系, 基于计算流 图配置文件生成与目标业务对应的初始计算流图, 该初始计算流图包括多个操作节点, 各 操作节点的功能类型, 以及多个操作节点的连接关系, 参见图2B所示, 为初始计算流图的示 意图。 0062 示例性的, 用户可以将目标业务拆分为多个功能, 获取与多个功能对应的多个操 作节点, 并基于目标业务的多个功能的关系确定多个操作节点的连接关系。 然后, 用户可以 向设备输入计算流图配置文件,。

39、 该计算流图配置文件包括多个操作节点, 以及多个操作节 点的连接关系。 设备在接收到该计算流图配置文件后, 就可以基于该计算流图配置文件生 成初始计算流图。 0063 方式三、 接收用户输入的与目标业务对应的初始计算流图, 该初始计算流图包括 多个操作节点, 各操作节点的功能类型, 以及多个操作节点的连接关系。 0064 示例性的, 用户可以直接生成与目标业务对应的初始计算流图, 并向设备输入初 始计算流图, 即, 设备可以直接接收用户输入的该初始计算流图。 比如说, 用户可以借助可 视化图编辑器来拖拽式编程自动生成初始计算流图, 并向设备输入该初始计算流图, 从而 降低开发者的配置工作。 0。

40、065 当然, 方式一, 方式二和方式三只是获取初始计算流图的几个示例, 对此初始计算 流图的获取方式不做限制, 只要能够得到初始计算流图即可。 0066 步骤1012, 根据该初始计算流图获取目标计算流图; 或者, 对该初始计算流图进行 优化, 并根据优化后的计算流图获取目标计算流图。 0067 在一种可能的实施方式中, 在得到初始计算流图后, 可以根据该初始计算流图获 取目标计算流图, 例如, 将该初始计算流图作为目标计算流图。 0068 在另一种可能的实施方式中, 在得到初始计算流图后, 可以对该初始计算流图进 行优化, 得到优化后的计算流图, 并根据优化后的计算流图获取目标计算流图, 。

41、例如, 可以 将优化后的计算流图作为目标计算流图。 0069 当然, 上述方式只是获取目标计算流图的几个示例, 对此目标计算流图的获取方 式不做限制, 只要能够基于初始计算流图得到目标计算流图即可, 该目标计算流图可以包 括多个操作节点, 各操作节点的功能类型(可以通过操作节点的名称体现操作节点的功能 类型), 以及多个操作节点的连接关系。 0070 示例性的, 对该初始计算流图进行优化, 得到优化后的计算流图, 可以包括但不限 于: 对初始计算流图的操作节点和/或操作节点的连接关系进行优化处理, 得到优化后的计 算流图。 优化处理包括但不限于如下处理的至少一种: 拆分处理, 合并处理, 内存。

42、共享处理, 硬件加速处理, 执行顺序调整处理。 0071 示例性的, 将初始计算流图作为候选计算流图1, 基于候选计算流图1获取与目标 业务对应的待执行程序1(获取方式参见后续基于目标计算流图获取待执行程序的方式), 在硬件平台部署待执行程序1, 确定待执行程序1的性能开销(如计算性能开销, 存储性能开 销, 带宽性能开销的至少一种)。 对候选计算流图1进行优化处理, 得到优化后的候选计算流 说明书 6/21 页 10 CN 112099848 A 10 图2, 基于候选计算流图2获取待执行程序2, 在硬件平台部署待执行程序2, 确定待执行程序 2的性能开销。 0072 示例性的, 若待执行程。

43、序2的性能开销小于待执行程序1的性能开销, 则将候选计 算流图2作为目标计算流图。 或者, 若待执行程序2的性能开销大于待执行程序1的性能开 销, 则将候选计算流图1作为目标计算流图。 0073 在对候选计算流图1进行优化处理, 得到候选计算流图2时, 可以对候选计算流图1 进行拆分处理, 得到候选计算流图2; 或, 对候选计算流图1进行合并处理, 得到候选计算流 图2; 或, 对候选计算流图1进行内存共享处理, 得到候选计算流图2; 或, 对候选计算流图1进 行硬件加速处理, 得到候选计算流图2; 或, 对候选计算流图1进行执行顺序调整处理, 得到 候选计算流图2。 0074 在对候选计算流。

44、图1进行优化处理, 得到候选计算流图2时, 还可以对候选计算流 图1进行拆分处理, 合并处理, 内存共享处理, 硬件加速处理, 执行顺序调整处理中的至少两 种优化处理, 得到候选计算流图2。 为了方便描述, 后续以对候选计算流图1进行拆分处理和 内存共享处理为例进行说明。 0075 例如, 先对候选计算流图1进行拆分处理, 得到拆分处理后的计算流图, 对拆分处 理后的计算流图进行内存共享处理, 得到候选计算流图2。 0076 又例如, 先对候选计算流图1进行内存共享处理, 得到内存共享处理后的计算流 图, 对内存共享处理后的计算流图进行拆分处理, 得到候选计算流图2。 0077 又例如, 先对。

45、候选计算流图1进行拆分处理, 得到拆分处理后的计算流图(将该计 算流图记为计算流图A), 基于计算流图A获取待执行程序A, 在硬件平台部署待执行程序A, 确定待执行程序A的性能开销。 若待执行程序A的性能开销小于待执行程序1的性能开销, 则 对计算流图A进行内存共享处理, 得到候选计算流图2。 或者, 若待执行程序A的性能开销大 于待执行程序1的性能开销, 则对候选计算流图1进行内存共享处理, 得到候选计算流图2。 0078 在一种可能的实施方式中, 对初始计算流图进行拆分处理是指: 对初始计算流图 中的部分或者全部操作节点进行拆分处理, 比如说, 将初始计算流图中的一个操作节点拆 分成至少两。

46、个操作节点。 对初始计算流图进行合并处理是指: 对初始计算流图中的部分操 作节点进行合并处理, 比如说, 将初始计算流图中的至少两个操作节点合并为一个操作节 点。 对初始计算流图进行内存共享处理是指: 对初始计算流图中的部分操作节点共享相同 内存, 比如说, 对初始计算流图中的至少两个操作节点使用相同内存, 即至少两个操作节点 占用同一内存空间。 对初始计算流图进行硬件加速处理是指: 对初始计算流图中的一个或 者多个操作节点进行硬件加速, 即通过硬件实现该操作节点的处理功能。 0079 在一种可能的实施方式中, 对初始计算流图进行执行顺序调整处理, 可以是指: 调 整初始计算流图中的操作节点的。

47、连接关系(调整操作节点的连接关系时, 实质也是对执行 顺序进行调整), 和/或, 调整初始计算流图中的操作节点的执行顺序。 比如说, 初始计算流 图中的操作节点1与操作节点2连接, 操作节点1与操作节点3连接, 将其调整为操作节点1与 操作节点2不连接, 操作节点1与操作节点3连接, 操作节点2与操作节点3连接。 又例如, 初始 计算流图中的各操作节点的执行顺序依次为: 操作节点1, 操作节点2和操作节点3, 将其调 整为执行顺序依次为: 操作节点2, 操作节点3和操作节点1。 0080 当然, 上述只是对初始计算流图进行优化的几个示例, 对此优化方式不做限制, 关 说明书 7/21 页 11。

48、 CN 112099848 A 11 于各种优化方式的具体实现方式, 本文不做限制。 0081 在一种可能的实施方式中, 对该初始计算流图进行优化, 得到优化后的计算流图, 可以包括但不限于如下方式: 基于用于部署待执行程序的硬件平台的硬件能力, 对该初始 计算流图的操作节点和/或操作节点的连接关系进行优化处理, 得到优化后的计算流图。 优 化处理包括但不限于如下处理的至少一种: 拆分处理, 合并处理, 内存共享处理, 硬件优化 加速处理, 执行顺序调整处理。 0082 示例性的, 待执行程序是基于目标计算流图获取的, 具体获取方式参见后续实施 例, 在此不再赘述。 在得到待执行程序后, 可以。

49、将待执行程序部署到硬件平台(如CPU (Central Processing Unit, 中央处理器), GPU(Graphics Processing Unit, 图形处理 器), ARM(Advanced RISC Machines, 高级精简指令集处理器), FPGA(Field Programmable Gate Array, 现场可编程逻辑门阵列)等, 对此硬件平台的类型不做限制), 在硬件平台运行 待执行程序, 从而通过待执行程序实现目标业务的业务处理。 在此基础上, 为了对初始计算 流图进行优化, 可以获取硬件平台的硬件能力(如计算能力, 存储能力, 带宽能力的至少一 种), 基。

50、于该硬件平台的硬件能力, 在保证计算精度的情况下, 可以对初始计算流图的操作 节点和/或操作节点的连接关系进行优化处理, 得到优化后的计算流图。 0083 比如说, 将初始计算流图作为候选计算流图1, 基于候选计算流图1获取待执行程 序1, 在硬件平台部署待执行程序1, 确定待执行程序1的性能开销。 若待执行程序1的性能开 销已经超出硬件平台的硬件能力范围(如计算性能开销大于硬件平台的计算能力, 或存储 性能开销大于硬件平台的存储能力, 或带宽性能开销大于硬件平台的带宽能力), 则需要对 候选计算流图1进行优化处理, 得到优化后的候选计算流图2。 若待执行程序1的性能开销未 超出硬件平台的硬件。

展开阅读全文
内容关键字: 业务 处理 方法 装置 设备
关于本文
本文标题:业务处理方法、装置及设备.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10158640.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1