[发明专利]基于TensorFlow的自定义类型实现方法和装置在审
申请号: | 202010685554.5 | 申请日: | 2020-07-16 |
公开(公告)号: | CN111782219A | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 黄高峰;谢翔;陈元丰;晏意林;史俊杰;李升林;孙立林 | 申请(专利权)人: | 矩阵元技术(深圳)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/36;G06N20/00 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 阚传猛;周达 |
地址: | 518061 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 tensorflow 自定义 类型 实现 方法 装置 | ||
1.一种基于TensorFlow的自定义类型实现方法,其特征在于,所述方法包括:
导入静态替换库;
通过输入转换算子,将预设输入转换为自定义数据类型输入;
通过所述自定义数据类型输入构建原生计算图;
通过静态替换技术将所述原生计算图中的原生算子替换为自定义类型算子,得到自定义类型前向图;
通过TensorFlow自动求导机制,利用所述自定义类型前向图生成自定义类型后向图;
通过所述自定义类型前向图和所述自定义类型后向图执行计算,得到自定义数据类型输出;
通过输出转换算子,将所述自定义类型输出转换为预设输出类型输出。
2.根据权利要求1所述的方法,其特征在于,还包括:
设置符合Variant编解码规范的自定义数据类型;
设置输入转换算子和输出转换算子;
动态添加Variant类型支持到全局算子注册列表中。
3.根据权利要求2所述的方法,其特征在于,动态添加Variant类型支持到全局算子注册列表中,包括:
获取全局算子注册列表;
获取用户指定的TensorFlow算子;
在加载所述静态替换库的时候,将Variant类型支持添加到所述全局算子注册列表进行算子属性更新。
4.根据权利要求2所述的方法,其特征在于,动态添加Variant类型支持到全局算子注册列表中,包括:
通过C++层提供给python层的预设接口动态添加Variant类型支持到全局算子注册列表。
5.根据权利要求1所述的方法,其特征在于,通过TensorFlow自动求导机制,利用所述自定义类型前向图生成自定义类型后向图包括:
调取预先设定的自定义类型算子梯度函数;
根据所述自定义类型算子梯度函数,通过TensorFlow自动求导机制对所述自定义类型前向图进行自动求导,得到自定义类型后向图。
6.一种基于TensorFlow的自定义类型实现装置,其特征在于,包括:
导入模块,用于导入静态替换库;
第一转换模块,用于通过输入转换算子,将预设输入转换为自定义数据类型输入;
构建模块,用于通过所述自定义数据类型输入构建原生计算图;
替换模块,用于通过静态替换技术将所述原生计算图中的原生算子替换为自定义类型算子,得到自定义类型前向图;
求导模块,用于通过TensorFlow自动求导机制,利用所述自定义类型前向图生成自定义类型后向图;
计算模块,用于通过所述自定义类型前向图和所述自定义类型后向图执行计算,得到自定义数据类型输出;
第二转换模块,用于通过输出转换算子,将所述自定义类型输出转换为预设输出类型输出。
7.根据权利要求6所述的装置,其特征在于,还包括:
第一设置模块,用于设置符合Variant编解码规范的自定义数据类型;
第二设置模块,用于设置输入转换算子和输出转换算子;
添加模块,用于动态添加Variant类型支持到全局算子注册列表中。
8.根据权利要求7所述的装置,其特征在于,所述添加模块包括:
第一获取单元,用于获取全局算子注册列表;
第二获取单元,用于获取用户指定的TensorFlow算子;
更新单元,用于在加载所述静态替换库的时候,将Variant类型支持添加到所述全局算子注册列表进行算子属性更新。
9.根据权利要求7所述的装置,其特征在于,所述添加模块包括:
添加单元,用于通过C++层提供给python层的预设接口动态添加Variant类型支持到全局算子注册列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于矩阵元技术(深圳)有限公司,未经矩阵元技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010685554.5/1.html,转载请声明来源钻瓜专利网。