[发明专利]面向人工智能的基于计算图模型的代码生成方法及装置在审
申请号: | 202111537354.6 | 申请日: | 2021-12-15 |
公开(公告)号: | CN114385179A | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 王彦芳;王政;黄丽桃;张小龙;李婕;江云松;曾霞;王辉 | 申请(专利权)人: | 北京轩宇信息技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/901 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 臧春喜 |
地址: | 100190 北京市海淀区科学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 人工智能 基于 计算 模型 代码 生成 方法 装置 | ||
1.一种面向人工智能的基于计算图模型的代码生成方法,其特征在于,包括:
获取计算图和输出节点;所述计算图为采用预设代码生成的代码图;
从所述输出节点开始,根据所述计算图中的有向边进行向前查找,直至找到所有的输入节点;
以查找路径上的所有节点为集合,构建以所述输出节点为根节点、以所述输入节点为叶节点的计算逻辑树;
根据所述计算逻辑树上所有节点的节点类型,对所述所有节点进行预处理;
从所述计算逻辑树中的层数最大的叶节点之一N1进行向上生成,N1和其兄弟节点、父节点生成为新的叶节点;
重复执行所述从所述计算逻辑树中的层数最大的叶节点之一N1进行向上生成,N1和其兄弟节点、父节点生成为新的叶节点,直至根节点作为父节点。
2.根据权利要求1所述的方法,其特征在于,所述从所述输出节点开始,根据所述计算图中的有向边进行向前查找,直至找到所有的输入节点,包括:
获取所述计算图中指向所述输出节点的所有有向边;
使用深度遍历,根据所述有向边,获取所述有向边的起始节点;
根据所述起始节点,查找其作为末端节点的有向边;
重复执行所述获取所述计算图中指向所述输出节点的所有有向边,至所述根据所述起始节点,查找其作为末端节点的有向边的步骤,直至得到没有作为末端节点的有向边。
3.根据权利要求1所述的方法,其特征在于,所述以查找路径上的所有节点为集合,构建以所述输出节点为根节点、以所述输入节点为叶节点的计算逻辑树,包括:
根据所述查找路径上的所有节点,生成节点集合;
将所述节点集合中所有节点按照有向边的关系,组成所述计算逻辑树。
4.根据权利要求1所述的方法,其特征在于,所述根据所述计算逻辑树上所有节点的节点类型,对所述所有节点进行预处理,包括:
收集所述计算逻辑树上每个节点的层数;
进行预处理,收集所述计算逻辑树上的所有节点:
针对不同的节点制定不同的转换规则,变量节点转换为具体数据类型的数据值;
计算操作节点根据其计算操作逻辑转换为计算方法,以完成预处理流程。
5.根据权利要求1所述的方法,其特征在于,在所述重复执行所述从所述计算逻辑树中的层数最大的叶节点之一N1进行向上生成,N1和其兄弟节点、父节点生成为新的叶节点,直至根节点作为父节点之后,还包括:
获取输入和输出的节点;
根据输入和输出的节点,解析所述计算图,得到网络结构和执行顺序;
按照所述网络结构和所述执行顺序,生成代码逻辑。
6.一种面向人工智能的基于计算图模型的代码生成装置,其特征在于,包括:
输出节点获取模块,用于获取计算图和输出节点;所述计算图为采用预设代码生成的代码图;
输入节点查找模块,用于从所述输出节点开始,根据所述计算图中的有向边进行向前查找,直至找到所有的输入节点;
计算逻辑树构建模块,用于以查找路径上的所有节点为集合,构建以所述输出节点为根节点、以所述输入节点为叶节点的计算逻辑树;
节点预处理模块,用于根据所述计算逻辑树上所有节点的节点类型,对所述所有节点进行预处理;
新叶节点生成模块,用于从所述计算逻辑树中的层数最大的叶节点之一N1进行向上生成,N1和其兄弟节点、父节点生成为新的叶节点;
重复执行模块,用于重复执行所述从所述计算逻辑树中的层数最大的叶节点之一N1进行向上生成,N1和其兄弟节点、父节点生成为新的叶节点,直至根节点作为父节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京轩宇信息技术有限公司,未经北京轩宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111537354.6/1.html,转载请声明来源钻瓜专利网。