CN113298263A - 计算图处理、模型运行方法及装置、电子设备、服务器及边缘终端 - Google Patents

计算图处理、模型运行方法及装置、电子设备、服务器及边缘终端 Download PDF

Info

Publication number
CN113298263A
CN113298263A CN202010404137.9A CN202010404137A CN113298263A CN 113298263 A CN113298263 A CN 113298263A CN 202010404137 A CN202010404137 A CN 202010404137A CN 113298263 A CN113298263 A CN 113298263A
Authority
CN
China
Prior art keywords
machine learning
learning model
nodes
graph
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010404137.9A
Other languages
English (en)
Other versions
CN113298263B (zh
Inventor
张东杰
崔世强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010404137.9A priority Critical patent/CN113298263B/zh
Publication of CN113298263A publication Critical patent/CN113298263A/zh
Application granted granted Critical
Publication of CN113298263B publication Critical patent/CN113298263B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Operation Control Of Excavators (AREA)
  • Traffic Control Systems (AREA)

Abstract

本申请实施例提供一种计算图处理、模型运行方法及装置、电子设备、服务器及边缘终端。其中,方法包括如下的步骤:确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。本申请实施例通过优化计算图提高机器学习模型的运行效率。

Description

计算图处理、模型运行方法及装置、电子设备、服务器及边缘 终端
技术领域
本申请涉及计算机技术领域,尤其涉及一种计算图处理、模型运行方法及装置、电子设备、服务器及边缘终端。
背景技术
机器学习模型是人工智能及模式识别领域的共同研究点,其理论以及方法被广泛应用于解决工程应用和科学领域的复杂问题。机器学习模型以深度学习为代表,使用多分层结构,多神经元的连接交互信息的分析机制,以实现自适应、自学习的强大并行信息处理能力。
现有技术中,机器学习模型结构较为复杂,在实际应用过程中,为了提高计算效率,机器学习研究者通常致力于机器学习模型的结构的简化。例如,机器学习模型的计算结构中存在多层级的复杂计算处理过程,一般针对机器学习模型的多层级计算结构本身进行算法优化。
但是,采用对机器学习模型结构本身进行优化的方式,对机器学习模型的优化是有限的,并不能解决对机器学习模型的加速优化问题。
发明内容
本申请实施例提供了一种计算图处理、模型运行方法及装置、电子设备、服务器及边缘终端,用以解决现有技术中机器学习模型结构优化并不能解决机器学习模型在运行过程中的计算效率的技术问题。
于是,在本发明的一个实施例中,提供了一种计算图处理方法,包括:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;
基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;
对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
在本发明的一个实施例中,提供了一种模型运行方法,包括:
确定训练获得的机器学习模型;
运行所述机器学习模型,并在获取所述机器学习模型的第一计算图时,中止所述机器学习模型的运行;其中,所述第一计算图包括多个节点;
基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;
对所述第一计算图中具有张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图;
将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令;
运行所述运行指令,获得所述机器学习模型的输出数据。
在本发明的又一个实施例,提供了一种计算图处理装置,包括:
第一确定模块,用于确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;
标识确定模块,用于基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;
计算优化模块,用于对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
在本发明的又一个实施例中,提供了一种模型运行装置,包括:
模型确定模块,用于确定训练获得的机器学习模型;
运行拦截模块,用于运行所述机器学习模型,并在获取所述机器学习模型的第一计算图时,中止所述机器学习模型的运行;其中,所述第一计算图包括多个节点;
标识确定模块,用于基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;
计算优化模块,用于对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
指令生成模块,用于将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令;
输出获取模块,用于运行所述运行指令,获得所述机器学习模型的输出数据。
在本发明的又一个实施例中,提供了一种电子设备,包括:存储组件以及处理组件;所述存储组件用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
在本发明的又一个实施例中,提供了一种服务器,包括:存储组件以及处理组件;所述存储组件用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图
在本发明的又一个实施例中,提供了一种边缘终端,包括:存储组件以及处理组件;所述存储组件用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
在本发明的又一个实施例中,提供一种电子设备,包括:存储组件以及处理组件;所述存储组件用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
确定训练获得的机器学习模型;运行所述机器学习模型,并在获取所述机器学习模型的第一计算图时,中止所述机器学习模型的运行;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图;将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令;运行所述运行指令,获得所述机器学习模型的输出数据。
本发明实施例提供的技术方案,可以获取机器学习模型的第一计算图,该第一计算图可以由多个节点构成。可以基于多个节点分别对应的对象类型,按照标识设置规则,确定多个节点分别对应的张量标识,从而可以为每个节点设置张量标识,通过对节点进行张量的标记,以利用多个节点分别对应的张量进行替代优化处理,对第一计算图中具有相同张量标识的节点进行替代处理,以获得该机器学习模型的第二计算图。机器学习模型的计算图中相同节点的替代优化,是针对机器学习模型的计算流程的优化,可以减少机器学习模型中相同节点的计算处理步骤,提高机器学习模型的计算效率,进一步实现对机器学习模型的优化加速。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种计算图处理方法的一个实施例的流程图;
图2为本申请实施例提供的一种计算图处理方法的又一个实施例的流程图;
图3为本申请实施例提供的一种计算图处理方法的又一个实施例的流程图;
图4为本申请实施例提供的一种计算图处理方法的一个应用示意图;
图5为本申请实施例提供的一种模型运行方法的一个实施例的流程图;
图6为本申请实施例提供的一种计算图处理装置的一个实施例的结构示意图;
图7为本申请实施例提供的一种模型运行装置的一个实施例的结构示意图;
图8为本申请实施例提供的一种电子设备的一个实施例的结构示意图;
图9为本申请实施例提供的一种服务器的一个实施例的结构示意图;
图10为本申请实施例提供的一种边缘终端的一个实施例的结构示意图;
图11为本申请实施例提供的一种电子设备的一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
本申请实施例的技术方案可以应用于任何机器学习模型的使用过程中,通过对机器学习模型进行计算处理时产生的计算图中的节点进行优化处理,以减少机器学习模型中的计算量,进一步对机器学习模型进行计算优化,提高机器学习模型的计算效率。
现有技术中,机器学习模型是较为常用的用于解决人工智能和模式识别等应用领域的算法模型。机器学习模型,特别是深度学习模型,可以由多层次,多计算单元的连接交互计算的处理机制,实现数据分析、数据预测等数学计算。为了提高计算效率,机器学习模型的研究者通常将机器学习模型的结构进行优化,例如,在图像特征提取时,以更高效率的提取模块替换原有的提取模块,以提高图像提取的效率。但是,这种对机器学习模型的结构本身进行优化的方式,对机器学习模型的优化效果是有限的,并不能对机器学习模型的计算过程进行进一步优化。
为了解决上述技术问题,本申请实施例中,在使用机器学习模型进行计算的过程中,可以获取机器学习模型对应的第一计算图,该第一计算图中可以包括多个节点。可以基于多个节点分别对应的对象类型,按照标识设置规则,确定多个节点分别对应的张量标识,可以利用节点的张量标识确定相同的节点,以对计算图中相同的节点,例如,数据或者算子进行替代处理,可以减少第一计算图中的数据或算子的冗余量,从而减少机器学习模型的计算量,以实现针对机器学习模型的计算流程的优化,减少机器学习模型中相同节点的计算处理步骤,提高机器学习模型的计算效率,进一步实现对机器学习模型的优化加速。
下面将结合附图对本申请实施例的技术方案进行详细描述。
如图1所示,为本申请实施例提供的一种计算图处理方法的一个实施例的流程图,该方法可以包括以下几个步骤:
101:确定机器学习模型对应的第一计算图。
其中,所述第一计算图包括多个节点。
机器学习模型可以为用于模拟人类学习行为的计算算法,可以由多个层级的计算神经元构成,一个计算单元可以为一个节点。在使用机器学习模型时,可以构建机器学习模型的网络计算单元,并利用训练数据以及标签数据训练机器学习模型的模型参数,以使用该机器学习模型。
在使用机器学习模型时,通常是将机器学习模型编写成相应的计算机程序,将输入数据输入机器学习模型对应的计算机程序之后,计算机程序可以按照机器学习模型的计算图对输入数据进行计算,以获得该机器学习模型对输入数据的计算结果,获得输出数据。
通常,在机器学习模型的计算机程序运行的过程中,需要将该机器学习模型对应的计算机程序进行编译,以获得计算机可以识别的二进制语言,并在编译过程中产生该机器学习模型对应的计算图,也即该计算机模型对应各个计算节点按照其计算关系构成的数据计算流程。因此,确定机器学习模型对应的计算图具体可以包括在编译机器学习模型对应计算机程序的过程中,获取机器学习模型对应的第一计算图。
102:基于多个节点分别对应的对象类型,按照标识设置规则,确定多个节点分别对应的张量标识。
可选地,可以为每个节点设置张量标识。标识设置规则可以包括利用字母或编号等字符按照一定排列规则进行标识的设置获得。
节点的对象类型可以指该节点所指向的对象的物理类型,任一个节点对应的对象可以为一个数据或者一个算子,不同类型的数据或者算子可以代表不同的张量,例如,算子a+b和数据a属于不同的对象类型,可以为不同对象类型设置不同的张量标识。但是,确定多个节点分别对应的张量标识时,可以将具有相同张量的节点设置相同张量标识,例如,假设第一计算图中的第一节点的对象类型为a,第一计算图中的第二节点的对象类型也为a,其中,第一节点和第二节点为不同的节点,可以为第一节点以及第二节点设置同一个张量标识。
103:对第一计算图中具有相同张量标识的节点进行替代处理,获得机器学习模型的第二计算图。
将第一计算图中具有相同张量标识的节点进行替代处理,获得机器学习模型的第二计算图可以包括:针对第一计算图中具有相同张量标识的节点,将其中一个节点,例如,在第一计算图的数据流中第一个出现的节点,记录为具有该张量标识的所有节点的节点内容,获得机器学习模型的第二计算图。
本申请实施例中,在使用机器学习模型进行计算的过程中,可以获取机器学习模型对应的第一计算图,该第一计算图中可以包括多个节点。可以基于多个节点分别对应的对象类型,按照标识设置规则,确定多个节点分别对应的张量标识,可以利用节点的张量标识确定相同的节点,以对计算图中相同的节点,例如,数据或者算子进行替代处理,可以减少第一计算图中的数据或算子的冗余量,减少机器学习模型的计算量,以实现针对机器学习模型的计算流程的优化,减少机器学习模型中相同节点的计算处理步骤,提高机器学习模型的计算效率,进一步实现对机器学习模型的优化加速。
本申请实施例提供的计算图处理方法可以应用于电子设备、服务器或者边缘终端等设备中。其中,所述电子设备可以包括:计算机、笔记本、超级移动个人计算机、上网本等,本申请实施例对电子设备的具体类型不作过多限定。服务器可以包括普通服务器、中心服务器、分布式服务器或者云服务器等,本申请实施例对服务器的具体类型仍不作过多限定。边缘终端可以指位于用户终端附近,为用户终端提供数据分析、场景感知和协同服务等功能的设备,边缘终端可以就近为用户终端提供服务,以减少数据传输等消耗,提高网络运行效率,边缘终端可以由中心服务器指定,可以与用户终端或者中心服务器进行通讯。
如图2所示,为本申请实施例提供的一种计算图处理方法的又一个实施例的流程图,该方法可以包括以下几个步骤:
201:确定机器学习模型对应的第一计算图。
其中,所述第一计算图包括多个节点。
本申请实施例的部分步骤与图1所示实施例的步骤相同,在此不再赘述。
202:基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识。
203:对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
204:根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
可选地,可以将输入数据输入第二计算图,计算获得机器学习模型的计算指令,并运行该计算指令以执行该机器学习模型对应的控制操作。
本申请实施例中,在获得第二计算图之后,可以利用该计算图生成机器学习模型对应的计算指令,以执行该机器学习模型对应的控制操作,可以实现机器学习模型的具体功能的使用,实现机器学习模型的应用化,提高机器学习模型的使用效率。
由于机器学习模型具有强大的模拟处理能力,机器学习模型被广泛应用于数据或图像处理、人脸识别、模式识别、智能控制、产品推广、点击率或者成交率预测等领域中。
作为一种可能的实现方式,所述机器学习模型包括:点击率预测模型;
所述根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作包括:
获取用户特征数据;
将所述用户特征数据输入所述点击率预测模型对应的第二计算图,计算获得点击率计算指令;
运行所述点击率计算指令,获得目标点击率。
可选地,可以将用户特征数据输入点击率预测模型对应的第二计算图的输入节点,并对该第二计算图中的各个节点进行节点计算,以获得点击率计算指令。在一些实施例中,点击率计算指令可以以文件形式存在,运行该文件即为运行该点击率计算指令,以获得点击率计算指令对应的目标点击率。
点击率预测具体可以指利用用户的行为数据,例如用户的购买记录,收藏信息、浏览记录等,对于针对用户投放的推荐内容、产品等进行点击概率的预测,以对用户实现高效地内容推荐,提高推荐效率。本申请实施例中,利用优化后的第二计算图进行点击指令生成,可以减少指令运行过程中的数据的重复计算或加载等问题,可以提高点击指令的运行速度,以更高效的方式计算获得目标点击率。
作为又一种可能的实现方式,所述机器学习模型包括:图像特征提取模型;
所述根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作包括:
确定待提取图像;
将所述待提取图像输入所述图像特征提取模型对应的第二计算图,计算获得特征提取指令;
运行所述特征提取指令,获得所述待提取图像的图像特征。
可选地,可以将待提取图像输入图像特征提取模型对应的第二计算图的输入节点,并对该第二计算图中的各个节点进行节点计算,以获得特征提取指令。在一些实施例中,特征提取指令可以以文件形式存在,运行该文件即可为运行该特征提取指令,以获得图像特征。
图像处理为机器学习模型较为常见的应用领域,可以利用机器学习模型对应的第一计算图中多个节点分别对应的张量标识,对第一计算图中具有相同张量标识的节点进行替代处理,以获得计算结构更为优化的第二计算图。从而在利用第二计算图生成对图像特征进行提取的特征提取指令时,可以使得特征提取指令在运行时,以更优的计算结构对图像特征进行提取,提高特征提取效率。
如图3所示,为本申请实施例提供的一种计算图处理方法的又一个实施例的流程图,该方法可以包括以下几个步骤:
301:确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点。
本申请实施例中部分步骤与前述实施例的部分步骤相同,在此不再赘述。
302:基于所述多个节点分别对应的对象类型,确定所述多个节点分别对应的节点张量。
每个节点对应有节点对象,节点对象可以包括数据或算子,可以利用节点中对象的数据类型或算子类型,可以确定节点对应的节点张量。
303:按照标识设置规则,为所述多个节点张量分别设置张量标识。
标识设置规则可以是预先设置的,除标识名称的设置规则之外,还可以包括:对具有相同的节点张量设置相同的张量标识的设置规则。使用同一个设置标识对相同的节点张量设置相同的标识。
304:对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
本申请实施例中,在对机器学习模型对应多个节点进行张量标识的设置时,可以基于多个节点分别对应的对象类型,确定多个节点分别对应的节点张量。
作为一个实施例,所述按照标识设置规则,为所述多个节点张量分别设置张量标识包括:
针对任一个节点的节点张量,判断是否存在已设置张量标识且与所述节点张量相同的历史节点张量;
如果存在,确定所述历史节点张量的张量标识为所述节点张量的张量标识;
如果不存在,按照所述标识设置规则,为所述节点张量设置张量标识。
在进行张量标识的设置时,对于相同的节点张量设置相同的张量标识。针对一个节点的节点张量,如果已存在与该节点张量相同的历史节点张量,且该历史节点张量已设置张量标识,可以将该历史节点张量的张量标识设置为该节点的张量标识。针对一个节点的节点张量,如果不存在该节点张量相同的历史节点张量,可以为该节点的节点张量设置新的张量标识。
通过遍历第一计算图中多个节点各自的节点张量的方式,可以对第一计算图中多个节点分别对应的节点张量设置张量标识。节点张量可以代表该节点对应的物理含义,为了区别不同物理含义的节点,可以为节点的节点张量设置相应的节点标识,以对第一计算图中的多个节点的物理计算的过程进行优化,提高计算图的计算效率。
其中,节点对应节点张量具体可以代表该节点所实际代表的物理含义,例如,假设一个节点为concat(连接)算子,令一个节点为reshape(重塑)算子,concat算子即对应一个节点张量,reshape算子即对应一个节点张量,可以分别为这两个节点张量设置张量标识,例如,Value Numbering(VN值,值编号)。
作为又一个实施例,所述基于所述多个节点分别对应的对象类型,确定所述多个节点分别对应的节点张量包括:
遍历所述多个节点各自的节点对象,如果任一个节点的节点对象对应的对象类型是否为已存在的对象类型;
如果是,确定所述已存在对象类型对应节点张量为所述节点对象的节点张量;
如果否,确定所述节点对应的节点对象的对象类型为所述节点对应的节点张量。
节点对象可以指该节点实际指向的数据或者算子,可以通过该节点对应的对象类型来确定该节点对应的节点张量。如果两个节点分别对应节点对象相同,这两个节点分别对应的张量标识相同。
作为一种可能的实现方式,所述对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图包括:
基于所述第一计算图中多个节点分别对应的张量标识,将所述第一计算图中具有相同张量标识的节点使用同一节点的节点对象替代,获得所述机器学习模型的第二计算图。
将第一计算图中多个节点中具有相同节点标识的节点使用同一节点对象替代,获得第二计算图,可以减少第二计算图中相同算子的运算数量,减少计算冗余度,提高运行效率。
除进行相同节点的节点对象,例如数据或算子,的直接替代外,在实际加载或者存储的过程中,可能还需要对相同节点进行加载替代或者存储替代。
作为又一种可能的实现方式,所述对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图包括:
基于所述第一计算图中多个节点分别对应的张量标识,将所述第一计算图的多个节点进行加载或者存储时,将具有相同张量标识的节点使用同一节点的节点对象进行替代加载或者替代存储,获得所述机器学习模型的第二计算图。
将第一计算图中多个节点具有相同节点标识的节点使用已加载的节点对象进行加载或存储,可以减少节点对象的加载或者存储次数,减少冗余存储,提高计算图的运载效率。
在一种可能的设计中,可以由服务器实现本申请实施例的计算图处理方法,所述服务器可以包括:中心服务器或者云服务器。
所述确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点包括:
接收用户终端发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
本申请实施例提供的计算图处理方法可以应用于服务器中,该服务器可以包括分布式服务器中的中心服务器、普通服务器或者云服务器等不可以与用户终端直接通信的服务器。用户终端在使用机器学习模型的过程中,可以运行以产生第一计算图,为了提高计算效率,用户终端可以将该第一计算图上传至服务器,服务器接收到第一计算图之后,可以使用本申请实施例提供的计算图处理方法优化第一计算图,获得第二计算图,以使用户终端获得第二计算图,并根据第二计算图生成计算指令,从而提高用户终端对机器学习模型的使用效率。
在某些实施例中,所述方法还可以包括:
发送所述第二计算图至用户终端,以供所述用户终端根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
在又一种可能的设计中,可以由用户终端将处理需求上报至服务器,再由服务器将处理任务下发至该用户终端对应的边缘终端。所述确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点包括:
接收中心服务器发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
在分布式服务器中,为了减少数据传输,以提高运行效率,可以中心服务器可以将用户终端的计算请求下发至与用户终端相匹配的边缘终端,边缘终端可以对用户终端进行通讯认证之后,直接与边缘终端进行通讯,或者边缘终端可以使用中心服务器与用户终端进行通讯。
在某些实施例中,在边缘终端接收中心服务器下发的计算图文件并对其对应的第一计算图进行优化处理,获得第二计算图之后,还可以包括:发送所述第二计算图至所述用户终端,以供所述用户终端根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
在某些实施例中,在边缘终端接收中心服务器下发的计算图文件并对其对应的第一计算图进行优化处理,获得第二计算图之后,所述方法还可以包括:
发送所述第二计算图至所述中心服务器,以供所述中心服务器将所述第二计算图发送至用户终端,以使所述用户终端根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
在又一种可能的设计中,本申请实施例提供的计算图处理方法可以独立应用于电子设备中,该电子设备自身实现本申请实施例的计算图处理方法。所述确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点可以包括:
读取计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
计算图文件可以在机器学习模型运行过程,一般为编译过程中生成,可以直接读取机器学习模型的计算图文件。
在机器学习模型运行过程中,可以使用预设计算图读取函数,读取计算图文件,获得所述计算图中的多个节点。
所述读取计算图文件,获得计算图文件中的多个节点包括:运行计算图读取函数,以读取所述计算图文件中的多个节点。其中,可以将计算图文件的文件名称作为读取参数输入计算图读取函数,并运行该计算图读取函数,获得计算图文件中的多个节点。
在某些实施例中,还包括:
确定训练获得的机器学习模型。
运行该机器学习模型,并在获取所述机器学习模型的第一计算图时,终止所述机器学习模型的运行;其中,所述第一计算图包括多个节点。
为了便于理解,以预测用户点击率为例,介绍本申请提供的计算图处理方法的一个应用示例。在用户浏览网页,例如电子商务网页或者视频网页时,可以为用户提供的推荐内容。在输出这些推荐内容之前,可以先利用机器学习模型对该推荐内容进行点击率预测,以判断该推荐内容的推荐效果,是否对其进行推荐。在点击率预测时,如图4所示,可以先获取用户特征数据401,例如,用户特征数据可以包括:高跟鞋、北京地区、年龄20-30岁、关注财经内容、周末投放等,并将用户特征数据从电子设备,例如笔记本,输入点击率预测模型402,并编译运行,可以获取编译运行过程中产生的第一计算图403,并获取该第一计算图对应多个节点,基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识,之后可以对对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图,之后可以将用户特征数据输入第二计算图404,生成点击率计算指令,运行该点击率预测指令,获得目标点击率405,例如,图4中的电子设备M1展示了目标点击率的一个输出界面的示意图。
如图5所示,为本申请实施例提供的一种模型运行方法的一个实施例的流程图,该方法可以包括以下几个步骤:
501:确定训练获得的机器学习模型。
其中,机器学习模型可以是现有的任意网络模型,该机器学习模型可以利用训练数据预先训练获得。机器学习模型的训练过程与现有技术相同,在此不再赘述。
502:运行所述机器学习模型,并在获取所述机器学习模型的第一计算图时,中止所述机器学习模型的运行。
其中,所述第一计算图包括多个节点。
可选地,运行机器学习模型可以包括:将输入数据输入机器学习模型,并执行该机器学习模型的运行指令,以运行该机器学习模型。在运行机器学习模型的过程中,可以产生第一计算图,该第一计算图可以为该机器学习模型各个节点按照其计算关联构成的计算图,输入数据输入第一计算图时,如果该机器学习模型未配置本申请实施例提供的计算图处理方法,该第一计算图可以直接计算获得该机器学习模型的计算指令,以执行机器学习模型对应的控制操作。在图5所示实施例的模型运行过程中,使用了本申请前述实施例提供的计算图处理方法,对该第一计算图进行了优化,以提高机器学习模型的运行效率。
中止该机器学习模型的运行,也即为暂时停止运行该机器学习模型,并对第一计算图进行优化,并在优化完第一计算图,获得第二计算图之后,再重新运行该机器学习模型。
503:基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识。
504:对所述第一计算图中具有张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
505:将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令。
506:运行所述运行指令,获得所述机器学习模型的输出数据。
需要说明的是,本申请实施例中的部分步骤与图1~图3等实施例的内容相同,在此不再赘述。
在现有技术中,机器学习模型的运行之后,即可以获得输出数据。但是,机器学习模型的运行过程中关于第一计算图存在一定的计算冗余或者加载重复、保存重复等过程,为了提高机器学习模型的运行效率,本申请实施例中,在检测到机器学习模型的第一计算图之后,可以中止该机器学习模型的运行,暂时停止运行该机器学习模型,并对第一计算图进行优化,获得第二计算图,以重新运行该机器学习模型,减少机器学习模型的冗余计算,提高运行效率。
作为一个实施例,所述机器学习模型包括:产品推荐模型;所述输入数据包括:用户行为数据;
所述将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令包括:
将所述用户行为数据输入所述产品推荐模型的第二计算图,计算获得所述产品推荐模型的推荐运行指令;
所述运行所述运行指令,获得所述机器学习模型的输出数据包括:
运行所述推荐运行指令,获得所述产品推荐模型的目标推荐产品。
作为又一个实施例,机器学习模型包括:点击率预测模型;所述输入数据包括:用户特征数据;
所述将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令包括:
将所述用户特征数据输入所述点击率预测模型的第二计算图,计算获得所述点击率预测模型的点击率计算指令;
所述运行所述运行指令,获得所述机器学习模型的输出数据包括:
运行所述点击率计算指令,获得目标点击率。
作为又一个实施例,所述机器学习模型包括:图像特征提取模型;所述输入数据包括:待提取图像;
所述将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令包括:
将所述待提取图像输入所述图像特征提取模型的第二计算图,计算获得所述图像特征提取模型的特征提取指令;
所述运行所述运行指令,获得所述机器学习模型的输出数据包括:
运行所述特征提取指令,获得所述待提取图像的图像特征。
需要说明的是,本申请实施例中的部分步骤与图1~图3等实施例的内容相同,在此不再赘述。
如图6所示,为本申请实施例提供的一种计算图处理装置的一个实施例的结构示意图,该装置可以包括:
第一确定模块601:用于确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;
标识确定模块602:用于基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;
计算优化模块603:用于对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
作为一个实施例,所述装置还可以包括:
指令生成模块,用于根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
作为一种可能的实现方式,机器学习模型包括:点击率预测模型;
所述指令生成模块可以包括:
第一获取单元,用于获取用户特征数据;
第一生成单元,用于将所述用户特征数据输入所述点击率预测模型对应的第二计算图,计算获得点击率计算指令;
第一运行单元,用于运行所述点击率计算指令,获得目标点击率。
作为又一种可能的实现方式,机器学习模型可以包括:图像特征提取模型;
所述指令生成模块可以包括:
第一确定单元,用于确定待提取图像;
第二生成单元,用于将所述待提取图像输入所述图像特征提取模型对应的第二计算图,计算获得特征提取指令;
第二运行单元,用于运行所述特征提取指令,获得所述待提取图像的图像特征。
作为一个实施例,所述标识确定模块可以包括:
第二确定单元,用于基于所述多个节点分别对应的对象类型,确定所述多个节点分别对应的节点张量;
标识设置单元,用于按照标识设置规则,为所述多个节点张量分别设置张量标识。
作为一种可能的实现方式,所述标识设置单元可以包括:
第一判断子单元,用于针对任一个节点的节点张量,判断是否存在已设置张量标识且与所述节点张量相同的历史节点张量;
第一处理子单元,用于如果存在,确定所述历史节点张量的张量标识为所述节点张量的张量标识;
第二处理子单元,用于如果不存在,按照所述标识设置规则,为所述节点张量设置张量标识。
作为又一种可能的实现方式,所述第二确定单元包括:
第二判断子单元,用于遍历所述多个节点各自的节点对象,如果任一个节点的节点对象对应的对象类型是否为已存在的对象类型;
第三处理子单元,用于如果是,确定所述已存在对象类型对应节点张量为所述节点对象的节点张量;
第四处理子单元,用于如果否,确定所述节点对应的节点对象的对象类型为所述节点对应的节点张量。
作为一个实施例,所述计算优化模块可以包括:
第一替代单元,用于基于所述第一计算图中多个节点分别对应的张量标识,将所述第一计算图中具有相同张量标识的节点使用同一节点的节点对象替代,获得所述机器学习模型的第二计算图。
作为又一个实施例,所述计算优化模块可以包括:
第二替代单元,用于基于所述第一计算图中多个节点分别对应的张量标识,将所述第一计算图的多个节点进行加载或者存储时,将具有相同张量标识的节点使用同一节点的节点对象进行替代加载或者替代存储,获得所述机器学习模型的第二计算图。
作为一个实施例,所述第一确定单元可以包括:
第一接收子单元,用于接收用户终端发送的所述机器学习模型对应的计算图文件;
第一解析子单元,用于解析所述计算图文件,获得所述计算图文件中的多个节点;
第一构建子单元,用于利用所述多个节点构建所述机器学习模型对应的第一计算图。
进一步,可选地,所述装置还可以包括:
第一发送模块,用于发送所述第二计算图至所述用户终端,以供所述用户终端根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
作为又一个实施例,所述第一确定单元可以包括:
第二接收子单元,用于接收中心服务器发送的所述机器学习模型对应的计算图文件;
第二解析子单元,用于解析所述计算图文件,获得所述计算图文件中的多个节点;
第二构建子单元,用于利用所述多个节点构建所述机器学习模型对应的第一计算图。
进一步,可选地,所述装置还可以包括:
第二发送模块,用于发送所述第二计算图至所述中心服务器,以供所述中心服务器将所述第二计算图发送至用户终端,以使所述用户终端根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
作为又一个实施例,所述第一确定单元可以包括:
文件读取子单元,用于读取计算图文件,获得所述计算图文件中的多个节点;
第三构建子单元,用于利用所述多个节点构建所述机器学习模型对应的第一计算图。
此外,本申请实施例还提供一种存储介质,所述存储介质为计算机可读存储介质,存储有计算机程序;所述计算机程序使计算机执行时实现上述的任一计算图处理方法。
本申请实施例中所述的计算图处理装置可以执行上述实施例中所述的计算图处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的计算图处理装置其中各模块或单元所执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图7所示,为本申请实施例提供的一种模型运行装置的一个实施例的结构示意图,该装置包括:
模型确定模块701:用于确定训练获得的机器学习模型;
运行拦截模块702:用于运行所述机器学习模型,并在获取所述机器学习模型的第一计算图时,中止所述机器学习模型的运行。
其中,所述第一计算图包括多个节点。
标识确定模块703:用于基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识。
计算优化模块704:用于对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
指令生成模块705:用于将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令。
输出获取模块706:用于运行所述运行指令,获得所述机器学习模型的输出数据。
本申请实施例中,在检测到机器学习模型的第一计算图之后,可以中止该机器学习模型的运行,暂时停止运行该机器学习模型,并对第一计算图进行优化,获得第二计算图,以重新运行该机器学习模型,减少机器学习模型的冗余计算,提高运行效率。
作为一个实施例,所述机器学习模型包括:产品推荐模型;所述输入数据包括:用户行为数据;
所述指令生成模块包括:
第三生成单元,用于将所述用户行为数据输入所述产品推荐模型的第二计算图,计算获得所述产品推荐模型的推荐运行指令;
所述输出获取模块包括:
第三运行单元,用于运行所述推荐运行指令,获得所述产品推荐模型的目标推荐产品。
作为又一个实施例,机器学习模型包括:点击率预测模型;所述输入数据包括:用户特征数据;
所述指令生成模块包括:
第一生成单元,用于将所述用户特征数据输入所述点击率预测模型的第二计算图,计算获得所述点击率预测模型的点击率计算指令;
所述输出获取模块包括:
第一运行单元,用于运行所述点击率计算指令,获得目标点击率。
作为又一个实施例,所述机器学习模型包括:图像特征提取模型;所述输入数据包括:待提取图像;
所述指令生成模块包括:
第二生成单元,用于将所述待提取图像输入所述图像特征提取模型的第二计算图,计算获得所述图像特征提取模型的特征提取指令;
所述输出获取模块包括:
第二运行单元,用于运行所述特征提取指令,获得所述待提取图像的图像特征。
如图8所示,为本申请实施例提供的一种电子设备的一个实施例的结构示意图,该电子设备可以包括:存储组件801以及处理组件802;所述存储组件801用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件802调用;
所述处理组件802可以用于:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
本申请实施例中,在使用机器学习模型进行计算的过程中,可以获取机器学习模型对应的第一计算图,该第一计算图中可以包括多个节点。可以基于多个节点分别对应的对象类型,按照标识设置规则,确定多个节点分别对应的张量标识,可以利用节点的张量标识确定相同的节点,以对计算图中相同的节点,例如,数据或者算子进行替代处理,可以减少第一计算图中的数据或算子的冗余量,减少机器学习模型的计算量,以实现针对机器学习模型的计算流程的优化,减少机器学习模型中相同节点的计算处理步骤,提高机器学习模型的计算效率,进一步实现对机器学习模型的优化加速。
作为一个实施例,所述处理组件还可以用于:
根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
作为一种可能的实现方式,所述机器学习模型包括:点击率预测模型;
所述处理组件根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作具体可以包括:
获取用户特征数据;
将所述用户特征数据输入所述点击率预测模型对应的第二计算图,计算获得点击率计算指令;
运行所述点击率计算指令,获得目标点击率。
作为又一种可能的实现方式,所述机器学习模型包括:图像特征提取模型;
所述处理组件根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作具体可以包括:
确定待提取图像;
将所述待提取图像输入所述图像特征提取模型对应的第二计算图,计算获得特征提取指令;
运行所述特征提取指令,获得所述待提取图像的图像特征。
作为又一个实施例,所述处理组件基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识具体可以包括:
基于所述多个节点分别对应的对象类型,确定所述多个节点分别对应的节点张量;
按照标识设置规则,为所述多个节点张量分别设置张量标识。
作为一种可能的实现方式,所述处理组件按照标识设置规则,为所述多个节点张量分别设置张量标识具体可以包括:
针对任一个节点的节点张量,判断是否存在已设置张量标识且与所述节点张量相同的历史节点张量;
如果存在,确定所述历史节点张量的张量标识为所述节点张量的张量标识;
如果不存在,按照所述标识设置规则,为所述节点张量设置张量标识。
作为一种可能的实现方式,所述处理组件基于所述多个节点分别对应的对象类型,确定所述多个节点分别对应的节点张量具体可以包括:
遍历所述多个节点各自的节点对象,如果任一个节点的节点对象对应的对象类型是否为已存在的对象类型;
如果是,确定所述已存在对象类型对应节点张量为所述节点对象的节点张量;
如果否,确定所述节点对应的节点对象的对象类型为所述节点对应的节点张量。
作为又一个实施例,所述处理组件对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图具体可以包括:
基于所述第一计算图中多个节点分别对应的张量标识,将所述第一计算图中具有相同张量标识的节点使用同一节点的节点对象替代,获得所述机器学习模型的第二计算图。
作为又一个实施例,所述处理组件对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图具体可以包括:
基于所述第一计算图中多个节点分别对应的张量标识,将所述第一计算图的多个节点进行加载或者存储时,将具有相同张量标识的节点使用同一节点的节点对象进行替代加载或者替代存储,获得所述机器学习模型的第二计算图。
在某些实施例中,所述处理组件确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点具体可以包括:
接收用户终端发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
进一步,可选地,所述处理组件还可以用于:
发送所述第二计算图至所述用户终端,以供所述用户终端根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
在某些实施例中,所述处理组件确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点具体可以包括:
接收中心服务器发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
进一步,可选地,所述处理组件还可以用于:
发送所述第二计算图至所述中心服务器,以供所述中心服务器将所述第二计算图发送至用户终端,以使所述用户终端根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
在某些实施例中,所述处理组件确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点具体可以包括:
读取计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
本申请实施例中所述的电子设备可以执行上述实施例中所述的计算图处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的电子设备其中处理组件所执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图9所示,为本申请实施例提供的一种服务器的一个实施例的结构示意图,该服务器可以包括:存储组件901以及处理组件902;所述存储组件901用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件902调用;
所述处理组件902用于:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
本申请实施例中,在使用机器学习模型进行计算的过程中,可以获取机器学习模型对应的第一计算图,该第一计算图中可以包括多个节点。可以基于多个节点分别对应的对象类型,按照标识设置规则,确定多个节点分别对应的张量标识,可以利用节点的张量标识确定相同的节点,以对计算图中相同的节点,例如,数据或者算子进行替代处理,可以减少第一计算图中的数据或算子的冗余量,减少机器学习模型的计算量,以实现针对机器学习模型的计算流程的优化,减少机器学习模型中相同节点的计算处理步骤,提高机器学习模型的计算效率,进一步实现对机器学习模型的优化加速。
其中,所述处理组件确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点可以包括:
接收用户终端发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
如图10所示,为本申请实施例提供的一种边缘终端的一个实施例的结构示意图,所述边缘终端可以包括:存储组件1001以及处理组件1002;所述存储组1001件用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件1002调用;
所述处理组件1002用于:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
本申请实施例中,在使用机器学习模型进行计算的过程中,可以获取机器学习模型对应的第一计算图,该第一计算图中可以包括多个节点。可以基于多个节点分别对应的对象类型,按照标识设置规则,确定多个节点分别对应的张量标识,可以利用节点的张量标识确定相同的节点,以对计算图中相同的节点,例如,数据或者算子进行替代处理,可以减少第一计算图中的数据或算子的冗余量,减少机器学习模型的计算量,以实现针对机器学习模型的计算流程的优化,减少机器学习模型中相同节点的计算处理步骤,提高机器学习模型的计算效率,进一步实现对机器学习模型的优化加速。
其中,所述处理组件确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点包括:
接收中心服务器发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
如图11所示,为本申请实施例提供的一种电子设备的一个实施例的结构示意图,该设备可以包括:存储组件1101以及处理组件1102;所述存储组件1101用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件1102调用;
所述处理组件1102用于:
确定训练获得的机器学习模型;运行所述机器学习模型,并在获取所述机器学习模型的第一计算图时,中止所述机器学习模型的运行;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图;将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令;运行所述运行指令,获得所述机器学习模型的输出数据。
作为一个实施例,所述机器学习模型包括:产品推荐模型;所述输入数据包括:用户行为数据;
所述处理组件将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令具体可以包括:
将所述用户行为数据输入所述产品推荐模型的第二计算图,计算获得所述产品推荐模型的推荐运行指令;
所述处理组件运行所述运行指令,获得所述机器学习模型的输出数据具体可以包括:
运行所述推荐运行指令,获得所述产品推荐模型的目标推荐产品。
作为又一个实施例,机器学习模型包括:点击率预测模型;所述输入数据包括:用户特征数据;
所述处理组件将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令具体可以包括:
将所述用户特征数据输入所述点击率预测模型的第二计算图,计算获得所述点击率预测模型的点击率计算指令;
所述处理组件运行所述运行指令,获得所述机器学习模型的输出数据具体可以包括:
运行所述点击率计算指令,获得目标点击率。
作为又一个实施例,所述机器学习模型包括:图像特征提取模型;所述输入数据包括:待提取图像;
所述处理组件将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令具体可以包括:
将所述待提取图像输入所述图像特征提取模型的第二计算图,计算获得所述图像特征提取模型的特征提取指令;
所述处理组件运行所述运行指令,获得所述机器学习模型的输出数据具体可以包括:
运行所述特征提取指令,获得所述待提取图像的图像特征。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (26)

1.一种计算图处理方法,其特征在于,包括:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;
基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;
对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
3.根据权利要求2所述的方法,其特征在于,所述机器学习模型包括:点击率预测模型;
所述根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作包括:
获取用户特征数据;
将所述用户特征数据输入所述点击率预测模型对应的第二计算图,计算获得点击率计算指令;
运行所述点击率计算指令,获得目标点击率。
4.根据权利要求2所述的方法,其特征在于,所述机器学习模型包括:图像特征提取模型;
所述根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作包括:
确定待提取图像;
将所述待提取图像输入所述图像特征提取模型对应的第二计算图,计算获得特征提取指令;
运行所述特征提取指令,获得所述待提取图像的图像特征。
5.根据权利要求1所述的方法,其特征在于,所述基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识包括:
基于所述多个节点分别对应的对象类型,确定所述多个节点分别对应的节点张量;
按照标识设置规则,为所述多个节点张量分别设置张量标识。
6.根据权利要求5所述的方法,其特征在于,所述按照标识设置规则,为所述多个节点张量分别设置张量标识包括:
针对任一个节点的节点张量,判断是否存在已设置张量标识且与所述节点张量相同的历史节点张量;
如果存在,确定所述历史节点张量的张量标识为所述节点张量的张量标识;
如果不存在,按照所述标识设置规则,为所述节点张量设置张量标识。
7.根据权利要求5所述的方法,其特征在于,所述基于所述多个节点分别对应的对象类型,确定所述多个节点分别对应的节点张量包括:
遍历所述多个节点各自的节点对象,如果任一个节点的节点对象对应的对象类型是否为已存在的对象类型;
如果是,确定所述已存在对象类型对应节点张量为所述节点对象的节点张量;
如果否,确定所述节点对应的节点对象的对象类型为所述节点对应的节点张量。
8.根据权利要求1所述的方法,其特征在于,所述对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图包括:
基于所述第一计算图中多个节点分别对应的张量标识,将所述第一计算图中具有相同张量标识的节点使用同一节点的节点对象替代,获得所述机器学习模型的第二计算图。
9.根据权利要求1或8任一项所述的方法,其特征在于,所述对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图包括:
基于所述第一计算图中多个节点分别对应的张量标识,将所述第一计算图的多个节点进行加载或者存储时,将具有相同张量标识的节点使用同一节点的节点对象进行替代加载或者替代存储,获得所述机器学习模型的第二计算图。
10.根据权利要求1所述的方法,其特征在于,所述确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点包括:
接收用户终端发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
11.根据权利要求10所述的方法,其特征在于,还包括:
发送所述第二计算图至所述用户终端,以供所述用户终端根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
12.根据权利要求1所述的方法,其特征在于,所述确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点包括:
接收中心服务器发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
13.根据权利要求12所述的方法,其特征在于,还包括:
发送所述第二计算图至所述中心服务器,以供所述中心服务器将所述第二计算图发送至用户终端,以使所述用户终端根据所述第二计算图,生成所述机器学习模型对应的计算指令,以执行所述机器学习模型对应的控制操作。
14.根据权利要求1所述的方法,其特征在于,所述确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点包括:
读取计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
15.一种模型运行方法,其特征在于,包括:
确定训练获得的机器学习模型;
运行所述机器学习模型,并在获取所述机器学习模型的第一计算图时,中止所述机器学习模型的运行;其中,所述第一计算图包括多个节点;
基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;
对所述第一计算图中具有张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图;
将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令;
运行所述运行指令,获得所述机器学习模型的输出数据。
16.根据权利要求15所述的方法,其特征在于,所述机器学习模型包括:产品推荐模型;所述输入数据包括:用户行为数据;
所述将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令包括:
将所述用户行为数据输入所述产品推荐模型的第二计算图,计算获得所述产品推荐模型的推荐运行指令;
所述运行所述运行指令,获得所述机器学习模型的输出数据包括:
运行所述推荐运行指令,获得所述产品推荐模型的目标推荐产品。
17.根据权利要求15所述的方法,其特征在于,所述机器学习模型包括:点击率预测模型;所述输入数据包括:用户特征数据;
所述将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令包括:
将所述用户特征数据输入所述点击率预测模型的第二计算图,计算获得所述点击率预测模型的点击率计算指令;
所述运行所述运行指令,获得所述机器学习模型的输出数据包括:
运行所述点击率计算指令,获得目标点击率。
18.一种计算图处理装置,其特征在于,包括:
第一确定模块,用于确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;
标识确定模块,用于基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;
计算优化模块,用于对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
19.一种模型运行装置,其特征在于,包括:
模型确定模块,用于确定训练获得的机器学习模型;
运行拦截模块,用于运行所述机器学习模型,并在获取所述机器学习模型的第一计算图时,中止所述机器学习模型的运行;其中,所述第一计算图包括多个节点;
标识确定模块,用于基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;
计算优化模块,用于对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
指令生成模块,用于将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令;
输出获取模块,用于运行所述运行指令,获得所述机器学习模型的输出数据。
20.一种电子设备,其特征在于,包括:存储组件以及处理组件;所述存储组件用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
21.根据权利要求20所述的电子设备,其特征在于,所述处理组件确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点包括:
读取计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
22.一种服务器,其特征在于,包括:存储组件以及处理组件;所述存储组件用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
23.根据权利要求22所述的服务器,其特征在于,所述处理组件确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点包括:
接收用户终端发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
24.一种边缘终端,其特征在于,包括:存储组件以及处理组件;所述存储组件用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有相同张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图。
25.根据权利要求24所述的终端,其特征在于,所述处理组件确定机器学习模型对应的第一计算图;其中,所述第一计算图包括多个节点包括:
接收中心服务器发送的所述机器学习模型对应的计算图文件;
解析所述计算图文件,获得所述计算图文件中的多个节点;
利用所述多个节点构建所述机器学习模型对应的第一计算图。
26.一种电子设备,其特征在于,包括:存储组件以及处理组件;所述存储组件用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理组件调用;
所述处理组件用于:
确定训练获得的机器学习模型;运行所述机器学习模型,并在获取所述机器学习模型的第一计算图时,中止所述机器学习模型的运行;其中,所述第一计算图包括多个节点;基于所述多个节点分别对应的对象类型,按照标识设置规则,确定所述多个节点分别对应的张量标识;对所述第一计算图中具有张量标识的节点进行替代处理,获得所述机器学习模型的第二计算图;将输入数据输入所述第二计算图,计算获得所述机器学习模型的运行指令;运行所述运行指令,获得所述机器学习模型的输出数据。
CN202010404137.9A 2020-05-13 2020-05-13 计算图处理、模型运行方法及装置、设备、服务器及终端 Active CN113298263B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010404137.9A CN113298263B (zh) 2020-05-13 2020-05-13 计算图处理、模型运行方法及装置、设备、服务器及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010404137.9A CN113298263B (zh) 2020-05-13 2020-05-13 计算图处理、模型运行方法及装置、设备、服务器及终端

Publications (2)

Publication Number Publication Date
CN113298263A true CN113298263A (zh) 2021-08-24
CN113298263B CN113298263B (zh) 2022-09-13

Family

ID=77318035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010404137.9A Active CN113298263B (zh) 2020-05-13 2020-05-13 计算图处理、模型运行方法及装置、设备、服务器及终端

Country Status (1)

Country Link
CN (1) CN113298263B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114840322A (zh) * 2022-05-17 2022-08-02 北京百度网讯科技有限公司 任务调度方法及装置、电子设备和存储
CN116402090A (zh) * 2023-06-09 2023-07-07 深圳比特微电子科技有限公司 神经网络计算图的处理方法、装置和设备
CN116560666A (zh) * 2023-07-10 2023-08-08 上海燧原科技有限公司 基于多层级代码生成的ai前端统一计算方法、装置及介质
WO2023246177A1 (zh) * 2022-06-20 2023-12-28 美的集团(上海)有限公司 图像处理方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304177A (zh) * 2017-01-13 2018-07-20 辉达公司 计算图的执行
CN108345937A (zh) * 2017-01-06 2018-07-31 谷歌有限责任公司 循环与库融合
CN110192210A (zh) * 2016-11-04 2019-08-30 谷歌有限责任公司 构建和处理用于动态结构化机器学习模型的计算图
CN110659728A (zh) * 2019-09-24 2020-01-07 上海寒武纪信息科技有限公司 神经网络优化方法、装置、计算机设备及存储介质
US20200042216A1 (en) * 2018-08-03 2020-02-06 Alibaba Group Holding Limited Storage-based graph for enabling computation graph optimization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110192210A (zh) * 2016-11-04 2019-08-30 谷歌有限责任公司 构建和处理用于动态结构化机器学习模型的计算图
CN108345937A (zh) * 2017-01-06 2018-07-31 谷歌有限责任公司 循环与库融合
CN108304177A (zh) * 2017-01-13 2018-07-20 辉达公司 计算图的执行
US20200042216A1 (en) * 2018-08-03 2020-02-06 Alibaba Group Holding Limited Storage-based graph for enabling computation graph optimization
CN110659728A (zh) * 2019-09-24 2020-01-07 上海寒武纪信息科技有限公司 神经网络优化方法、装置、计算机设备及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114840322A (zh) * 2022-05-17 2022-08-02 北京百度网讯科技有限公司 任务调度方法及装置、电子设备和存储
CN114840322B (zh) * 2022-05-17 2022-12-09 北京百度网讯科技有限公司 任务调度方法及装置、电子设备和存储
WO2023246177A1 (zh) * 2022-06-20 2023-12-28 美的集团(上海)有限公司 图像处理方法、电子设备及存储介质
CN116402090A (zh) * 2023-06-09 2023-07-07 深圳比特微电子科技有限公司 神经网络计算图的处理方法、装置和设备
CN116402090B (zh) * 2023-06-09 2023-09-12 深圳比特微电子科技有限公司 神经网络计算图的处理方法、装置和设备
CN116560666A (zh) * 2023-07-10 2023-08-08 上海燧原科技有限公司 基于多层级代码生成的ai前端统一计算方法、装置及介质
CN116560666B (zh) * 2023-07-10 2023-09-22 上海燧原科技有限公司 基于多层级代码生成的ai前端统一计算方法、装置及介质

Also Published As

Publication number Publication date
CN113298263B (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN113298263B (zh) 计算图处理、模型运行方法及装置、设备、服务器及终端
US9355067B1 (en) Distribution of parameter calculation for iterative optimization methods
CN112633962B (zh) 业务推荐方法、装置、计算机设备和存储介质
CN110445939B (zh) 容量资源的预测方法及装置
CN111090686B (zh) 数据处理方法、装置、服务器和存储介质
CN113706151A (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN116485475A (zh) 基于边缘计算的物联网广告系统、方法及装置
CN112669084A (zh) 策略确定方法、设备及计算机可读存储介质
CN112508723A (zh) 基于自动择优建模的金融风险预测方法、装置和电子设备
CN114048024A (zh) 任务部署方法、装置、设备、存储介质及产品
CN114492601A (zh) 资源分类模型的训练方法、装置、电子设备及存储介质
CN110909888A (zh) 泛型决策树构建方法、装置、设备及可读存储介质
Bielecki et al. Estimation of execution time for computing tasks
CN112363465B (zh) 一种专家规则集训练方法、训练器和工业设备预警系统
CN117786232A (zh) 一种软件平台中的软件管理方法及软件平台
CN110796381B (zh) 风控模型的建模方法、装置、终端设备及介质
US20230342626A1 (en) Model processing method and related apparatus
CN114692859A (zh) 数据处理方法及装置、计算设备及试验精简设备
CN111401675A (zh) 基于相似性的风险识别方法、装置、设备及存储介质
US11823066B2 (en) Enterprise market volatility predictions through synthetic DNA and mutant nucleotides
CN115640454A (zh) 一种产品推荐方法、系统、电子设备及存储介质
CN111815442A (zh) 一种链接预测的方法、装置和电子设备
CN112288123B (zh) 资源属性的预测方法和系统、训练方法及相关设备
US11823064B2 (en) Enterprise market volatility prediction through synthetic DNA and mutant nucleotides
US20220383136A1 (en) Enterprise Market Volatility Predictions through Synthetic DNA and Mutant Nucleotides

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant