[发明专利]基于TensorFlow的自定义类型实现方法和装置在审
申请号: | 202010685554.5 | 申请日: | 2020-07-16 |
公开(公告)号: | CN111782219A | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 黄高峰;谢翔;陈元丰;晏意林;史俊杰;李升林;孙立林 | 申请(专利权)人: | 矩阵元技术(深圳)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/36;G06N20/00 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 阚传猛;周达 |
地址: | 518061 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 tensorflow 自定义 类型 实现 方法 装置 | ||
本申请提供了一种基于TensorFlow的自定义类型实现方法和装置,其中,包括:导入静态替换库后,将预设输入转换为自定义数据类型输入,得到原生计算图,再将原生计算图中的原生算子替换为自定义类型算子,从而得到自定义类型前向图;再通过TensorFlow自动求导机制,生成自定义类型后向图,进而执行计算,得到自定义数据类型输出,并转换为预设输出类型输出。即,可以在不修改TensorFlow源码的基础上复用TensorFlow原生计算图生成自定义类型的前向图,并可以借助TensorFlow的自动求导机制创建后向图,使得用户可以进行自定义类型的定制,从而可以快速开发出自定义类型的机器学习应用。
技术领域
本申请属于互联网技术领域,尤其涉及一种基于TensorFlow的自定义类型实现方法和装置、可读存储介质。
背景技术
随着人工智能技术的不断发展,人们越来越重视数据的价值,对个人信息和数据的隐私保护也提出了更高的要求,这也就促进了密码学和机器学习的结合,从而诞生了加密机器学习平台等。使用这些加密机器学习框架的开发者可以对加密数据进行训练和预测,并且能够通过协议实现数据的隐私计算,从而使得数据不会被泄露。
基于这些加密机器学习框架来训练加密模型,一方面必须使用加密框架特有的应用程序和数据类型,原本开发的明文(非加密)机器学习模型需要重新改造才能使用,另一方面,这些框架不支持自定义类型,这也就导致无法增加新的计算鞋子到加密框架中。
针对现有的机器学习框架不支持自定义数据类型的问题,目前尚未提出有效的解决方案。
发明内容
本申请目的在于提供一种基于TensorFlow的自定义类型实现方法和装置、可读存储介质,可以快速高效开发出自定义类型的机器学习应用,且可以复用原生计算图。
本申请提供一种基于TensorFlow的自定义类型实现方法和装置、可读存储介质是这样实现的:
一种基于TensorFlow的自定义类型实现方法,所述方法包括:
导入静态替换库;
通过输入转换算子,将预设输入转换为自定义数据类型输入;
通过所述自定义数据类型输入构建原生计算图;
通过静态替换技术将所述原生计算图中的原生算子替换为自定义类型算子,得到自定义类型前向图;
通过TensorFlow自动求导机制,利用所述自定义类型前向图生成自定义类型后向图;
通过所述自定义类型前向图和所述自定义类型后向图执行计算,得到自定义数据类型输出;
通过输出转换算子,将所述自定义类型输出转换为预设输出类型输出。
在一个实施方式中,上述方法还包括:
设置符合Variant编解码规范的自定义数据类型;
设置输入转换算子和输出转换算子;
动态添加Variant类型支持到全局算子注册列表中。
在一个实施方式中,动态添加Variant类型支持到全局算子注册列表中,包括:
获取全局算子注册列表;
获取用户指定的TensorFlow算子;
在加载所述静态替换库的时候,将Variant类型支持添加到所述全局算子注册列表进行算子属性更新。
在一个实施方式中,动态添加Variant类型支持到全局算子注册列表中,包括:
通过C++层提供给python层的预设接口动态添加Variant类型支持到全局算子注册列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于矩阵元技术(深圳)有限公司,未经矩阵元技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010685554.5/2.html,转载请声明来源钻瓜专利网。