[发明专利]一种用于TensorFlow自定义操作生成的方法有效
申请号: | 201911039702.X | 申请日: | 2019-10-29 |
公开(公告)号: | CN110795104B | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | 杨文婧;黄万荣;杨邵武;黄达;徐利洋;颜豪杰;刘向阳;沙建松;胡亚清;梁卓 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 王文惠 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 tensorflow 自定义 操作 生成 方法 | ||
本发明属于机器学习领域,公开了一种用于TensorFlow自定义Op生成的方法,目的是提高现有自定义Op的生成效率。本发明通过读取自定义操作注册文件,对注册文件信息进行特定封装,然后对封装后的数据进行解析,解析后通过自动生成功能对数据添加包装描述,通过文本读取的方式获取注册文件中的关键数据来降低运行时的性能消耗。采用本发明可以有效降低自定义操作生成的性能和时间开销,提高了自定义操作功能易用性。
技术领域
本发明属于机器学习领域,涉及机器学习开源库TensorFlow中的自定义操作(Op)方法,特别涉及一种用于TensorFlow自定义操作(Op)生成的优化方法。
背景技术
作为机器学习最重要的一个分支,深度学习近年来发展迅猛,在学术界、产业界都引起了广泛关注,深度神经网络已经在计算机视觉、智能搜索、无人驾驶、模式识别等领域取得了令人瞩目的成就。近些年来,随着深度学习模型结构越来越复杂,一般的学习框架已经不能满足需求,在这个背景下出现了Caffe、TensorFlow、PyTorch等众多深度学习框架。其中,TensorFlow是基于数据流图进行数值计算的开源框架,因其具有编译速度快、支持数据并行和模型并行、方便部署等特点而备受青睐。操作(Operation),简称Op,是TensorFlow框架中的核心概念之一。它是对加减乘除、卷积、赋值等具体数值计算算子的抽象。通过Op机制,可以隐藏数值计算的实现细节,仅需调用Op接口即可构建数据流图,加速了算法研发效率。为了进一步支撑深度学习算法的设计和实现,TensorFlow已经集成了近千种常用Op(也称为自带Op)。同时,TensorFlow也提供了自定义Op生成接口,支持按需以封装或扩展的方式进行Op自定义生成。
原有TensorFlow框架采用基于编译的自定义Op生成方法。其基本思想是将自定义Op注册数据视为可以编译的代码,通过调用bazel工具编译运行自定义Op注册代码和TensorFlow源码直接定向生成自定义Op调用接口。基于编译的自定义Op生成方法存在2点不足。第一,Op注册文件与TensorFlow源码紧耦合的编译方式导致自定义Op生成方法易用性差、运行过程时间长且性能开销大。由于Op注册文件需要和TensorFlow源码一起编译,一方面,如果Op注册文件中存在TensorFlow源码中未调用的环境,很容易发生编译报错现象。往往需要定位有关问题环境,将其注释之后再重新编译,给深度学习算法开发调试带来极大不便。另一方面,如果对TensorFlow源码进行修改,则需要将TensorFlow源码与Op注册文件重新编译,造成时间浪费和较大的性能开销。第二,基于编译的自定义Op生成方法产生的包装文件、动态链接库路径复杂,并且多个Op放在同一个目标文件内,用户需要对自定义Op文件进行手工拆分才能灵活使用,操作繁琐。
因此,针对现有自定义Op功能方法,如何提高自定义Op机制的易用性、缩短运行时间、降低性能消耗、提高研发效率,已成为深度学习开发人员需要解决的问题。
发明内容
本发明要解决的技术问题是:针对TensorFlow框架原有的自定义Op生成方法存在的易用性差、运行时间长、性能开销大、操作繁琐等问题,提出了一种用于TensorFlow自定义Op生成的优化方法。这种方法支持用户一键快速生成自定义Op,无需与TensorFlow源码绑定编译。自定义Op文件的生成方式灵活可控,根据需要可生成一个统一的自定义Op文件,或同时生成多个独立的自定义Op文件,方便用户调用。
本发明的技术方案是:
一种用于TensorFlow自定义Op生成的优化方法,包括以下步骤:
第一步,初始化自定义Op注册数据:用户对自定义Op的注册数据进行声明、赋值和实现,注册数据包括自定义Op的输入数据名和类型、输出数据名和类型、形状、功能操作实现及梯度传递等,如果用户需要同时生成多个自定义Op,则需要初始化所有自定义Op的注册数据,并且所有初始化完成后的注册数据均记录在同一个自定义Op注册文件中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911039702.X/2.html,转载请声明来源钻瓜专利网。