[发明专利]处理计算图有效
申请号: | 201680063236.7 | 申请日: | 2016-10-28 |
公开(公告)号: | CN108292241B | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 保罗·A·塔克;杰弗里·阿德盖特·迪恩;桑贾伊·格赫玛瓦特;余原 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 李宝泉;周亚荣 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 计算 | ||
1.一种处理表示神经网络的计算图的计算机实现的方法,所述方法包括:
从客户端接收处理表示所述神经网络的所述计算图的请求;
获得表示所述计算图的数据,所述计算图包括多个节点和有向边,其中每个节点表示用于所述神经网络的相应运算,其中每个有向边将相应第一节点连接至相应第二节点,所述相应第二节点表示接收由所述相应第一节点所表示的运算的输出作为输入的运算;
识别用于处理所述计算图的多个可用设备;
使用所述多个可用设备处理所述计算图,包括:
分析所述计算图以识别多个节点组,所述多个节点组对在有向边上流向所述多个节点组的共享数据进行运算,
将所述计算图划分成多个子图,每个子图包括所述计算图中的一个或多个节点,包括针对每个所识别的节点组生成包括所生成的节点组的相应子图,
针对每个子图,将由该子图中的一个或多个节点所表示的运算分配到所述多个可用设备中的相应可用设备以供处理,以及
通过使每个设备执行分配给该设备的运算来处理所述计算图。
2.根据权利要求1所述的方法,其中,所述请求从一个或多个相应节点指定一个或多个特定输出,所述方法进一步包括:
从所述一个或多个相应节点被分配到的特定设备接收所述一个或多个特定输出;以及
将所述一个或多个特定输出提供给所述客户端。
3.根据权利要求1所述的方法,其中,由所述计算图的所述一个或多个节点所表示的运算是针对神经网络的推理或训练运算。
4.根据权利要求1所述的方法,其中,所述请求包括将所述计算图划分成多个预定子图的标签,以及其中,划分所述计算图包括将所述计算图划分成所述多个预定子图。
5.根据权利要求1所述的方法,其中,所述多个可用设备中的每个设备是独立于所述多个可用设备中的其他设备执行运算的硬件资源。
6.根据权利要求1所述的方法,其中,针对每个子图,将由该子图中的一个或多个节点所表示的运算分配到相应设备包括将所述运算分配到具有执行由该子图中的节点所表示的运算所需的计算能力的设备。
7.根据权利要求1所述的方法,进一步包括:
分析所述计算图以识别以链结构布置的多个节点组;
其中,划分所述计算图包括针对每个所识别的节点组生成包括所识别的节点组的相应子图。
8.根据权利要求1所述的方法,进一步包括:
确定由子图中的一个或多个节点所表示的运算到设备的初始分配;
监视所述设备以确定统计数据;
使用所述统计数据来调整所述初始分配;以及
基于经调整的初始分配,将所述子图的运算重新分配到所述设备。
9.根据权利要求8所述的方法,进一步包括:重复所述监视、调整和重新分配,直到已达到阈值改进量。
10.根据权利要求8所述的方法,其中,所述统计数据包括针对每个子图的相应运算时间或者相应空闲时间。
11.根据任一前述权利要求所述的方法,进一步包括:
接收模型输入;以及
根据由经处理的计算图所表示的运算来处理所述模型输入。
12.根据权利要求1至10中的任一项所述的方法,进一步包括使用所述神经网络来处理模型输入。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680063236.7/1.html,转载请声明来源钻瓜专利网。