说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202210952808.4 (22)申请日 2022.08.10 (65)同一申请的已公布的文献号 申请公布号 CN 115033391 A (43)申请公布日 2022.09.09 (73)专利权人 之江实验室 地址 311121 浙江省杭州市余杭区之江实 验室南湖总部 (72)发明人 王宏升 陈光  (74)专利代理 机构 北京志霖恒远知识产权代理 有限公司 1 1435 专利代理师 戴莉 (51)Int.Cl. G06F 9/50(2006.01) G06N 3/08(2006.01)(56)对比文件 CN 104268023 A,2015.01.07 CN 111045959 A,2020.04.21 US 2021342087 A1,2021.1 1.04 审查员 辛小霞 (54)发明名称 一种用于神经网络计算的数据流动方法和 装置 (57)摘要 本发明公开了一种用于神经网络计算的数 据流动方法和装置, 包括以下步骤: 步骤1、 初始 化计算图中变量的生命周期, 初始化从变量的定 义开始到使用结束之间的时间段为所述变量在 计算图中的生命周期; 步骤2、 定义使用中变量流 过节点的传播规则, 定义计算图某节 点处的变量 被使用, 在该节点的前驱节点产生该变量的定 义, 使得流过该节点的有效变量的输入集合包含 该变量; 本发 明公开了深度学习训练系统中一种 用于神经网络计算的数据流动的建模方法和装 置, 可以从全局作用域的视角分析出局部循环里 的每个计算子图的节点所需分配的内存单元块。 所述的用于神经网络计算的数据流动方法提高 整个计算图的计算效率, 节约时间成本 。 权利要求书2页 说明书7页 附图4页 CN 115033391 B 2022.11.11 CN 115033391 B 1.一种用于神经网络计算的数据流动方法, 其特 征在于: 包括以下步骤: 步骤1、 初始化计算图中变量的生命周期, 初始化从变量的定义开始到使用结束之间的 时间段为所述变量在计算图中的生命周期; 步骤2、 定义使用中变量流过节点的传播规则, 定义计算图某节点处的变量被使用, 在 该节点的前驱节点产生该变量的定义, 使得流过该节点的有效变量的输入集合包含该变 量; 步骤3、 设计重定义变量流过节点的传播规则, 当变量在计算图某节点处被重新定义, 则使该节点的前驱节点中的该变量的生命周期在流过 该节点时被终结; 步骤4、 定义计算图中关联变量 流过节点的传播 规则; 步骤5、 基于数据流分析每 个节点的输入和输出的有效变量, 包括如下子步骤: 步骤5.1、 初始化输出节点的输入有效变量集合, 对于整张计算 图的输出节点, 其输出 有效变量集合为空集, 其输入有效变量集合推导方法为: 其输出有效变量集合移除所述节 点处被重新定义的变量, 再与所述节点处被使用的变量取并集; 步骤5.2、 初始化输入节点的输出有效变量集合, 对于整张计算 图的输入节点, 初始化 其输出的有效变量 集合元素为所述节点处定义的变量; 步骤5.3、 推导中间节点的输出有效变量集合, 所述节点的输出有效变量集合为取其后 继节点的输入有效变量的并集; 步骤5.4、 推导中间节点的输入有效变量集合, 所述节点的输入有效变量集合为其输出 有效变量结合移除所述节点处被重新定义的变量集合, 再取与所述节点处被使用的变量集 合的并集; 步骤6、 收集流过节点前后的有效变量的集合, 收集基于计算图的变量的生命周期分析 所得的流经每 个节点的有效变量的集 合; 步骤7、 为计算图边上的有效变量分配 内存单元块, 定义为计算图某节点的变量分配单 元内存块的条件为: 所述节点处的该变量在生命周期内, 即计算图边上 的有效变量才分配 单元内存块, 在计算图编译期间, 根据上述收集的有效变量的集合中变量的个数, 提前为每 个变量预分配内存单 元块; 步骤8、 定义计算图中可用表达式的传播 规则; 步骤9、 基于数据流分析每 个节点的输入和输出的可用表达式; 步骤10、 优化计算图中的可用表达式: 将计算图节点处的可用表达式的计算结果保存 到中间变量中, 再次出现在后继节点中的所述可用表达式将替换为所述中间变量。 2.如权利要求1所述的一种用于神经网络计算的数据流动方法, 其特征在于: 所述步骤 3中重定义变量流过节点的传播规则具体为: 若该变量在所述计算图某节点处没有被重新 定义, 则流过所述节 点的有效变量的输出集合中的变量可以穿过该节点传播至其输出集合 的变量; 若该变量在所述计算图某 节点处被重新定义, 则所述变量 不可以穿过 该节点。 3.如权利要求1所述的一种用于神经网络计算的数据流动方法, 其特征在于: 所述步骤 4的具体子步骤如下: 步骤4.1、 定义 流过计算图某 节点的变量 等于使用变量; 步骤4.2、 定义该节点的输出变量的集 合为该节点的所有后继节点的输入集 合的并集; 步骤4.3、 定义该节点的输入变量的集合为输出变量的集合去除该节点处的定义的变权 利 要 求 书 1/2 页 2 CN 115033391 B 2量集合, 再与该节点处使用变量 集合取并集。 4.如权利要求1所述的一种用于神经网络计算的数据流动方法, 其特征在于: 所述步骤 8的具体子步骤如下: 步骤8.1、 定义 流过计算图某 节点的变量 等于使用变量; 步骤8.2、 定义该节点的输入变量的集合为该节点的所有前驱节点的输出变量集合的 交集; 步骤8.3、 定义该节点的输出变量的集合为该节点的所有输入变量的集合与使用变量 的并集, 再去除包 含重定义变量的表达式。 5.如权利要求1所述的一种用于神经网络计算的数据流动方法, 其特征在于: 所述步骤 9的具体子步骤如下: 步骤9.1、 可用表达式集合的初始化, 将流入整个计算图入口节点的可用表达式的集合 初始化为空集; 步骤9.2、 可用表达式集合添加后继节点中新出现的表达式, 对于存在多条输入边的节 点, 所述节点的可用表达式是取多条输入边上的可用表达式集合的交集作为所述节点的可 用表达式集 合新添加的元 素; 步骤9.3、 对于存在可用节点中的变量被重新定义的后继节点, 需要将包含所述重定义 变量的表达式从所述可用表达式集 合中移除。 6.如权利要求1所述的一种用于神经网络计算的数据流动方法, 其特征在于: 所述步骤 10的具体子步骤如下: 步骤10.1、 单独 计算可用表达式; 步骤10.2、 将计算图节点处的可用表达式的计算结果保存到中间变量中; 步骤10.3、 对于没有可用表达式中的变量被重定义的后继节点, 将后继节点中的可用 表达式替换为中间变量的值; 步骤10.4、 对于存在可用表达式中的变量被重定义的后继节点, 插入可用表达式的更 新节点。 7.一种用于神经网络计算的数据流动装置, 其特征在于: 所述装置包括存储器和一个 或多个处理器, 所述存储器中存储有可执行代码, 所述一个或多个处理器执行所述可执行 代码时, 用于实现权利要求1 ‑6任一项所述用于神经网络计算的数据流动方法。权 利 要 求 书 2/2 页 3 CN 115033391 B 3

.PDF文档 专利 一种用于神经网络计算的数据流动方法和装置

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种用于神经网络计算的数据流动方法和装置 第 1 页 专利 一种用于神经网络计算的数据流动方法和装置 第 2 页 专利 一种用于神经网络计算的数据流动方法和装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:10:15上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。