CN110458294A - 模型运行方法、装置、终端及存储介质 - Google Patents

模型运行方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN110458294A
CN110458294A CN201910762846.1A CN201910762846A CN110458294A CN 110458294 A CN110458294 A CN 110458294A CN 201910762846 A CN201910762846 A CN 201910762846A CN 110458294 A CN110458294 A CN 110458294A
Authority
CN
China
Prior art keywords
operator
processor
machine learning
learning model
adjusted
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
CN201910762846.1A
Other languages
English (en)
Other versions
CN110458294B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201910762846.1A priority Critical patent/CN110458294B/zh
Publication of CN110458294A publication Critical patent/CN110458294A/zh
Application granted granted Critical
Publication of CN110458294B publication Critical patent/CN110458294B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种模型运行方法、装置、终端及存储介质。所述方法包括:获取待运行的机器学习模型,机器学习模型包括至少一个算子;确定机器学习模型中的n个第一算子,第一算子是指第一处理器不支持运行的算子,n为正整数;基于第一算子,对机器学习模型进行调整,得到调整后的机器学习模型,调整后的机器学习模型包括第一处理器支持运行的算子;在第一处理器上运行调整后的机器学习模型。本申请实施例保证了机器学习模型在处理器上的正常运行。

Description

模型运行方法、装置、终端及存储介质
技术领域
本申请实施例涉及机器学习技术领域,特别涉及一种模型运行方法、装置、终端及存储介质。
背景技术
终端可以通过机器学习模型执行不同的业务,例如,人脸检测、语音识别、图像识别等。
在相关技术中,终端使用固定的配置信息对机器学习模型进行配置,使得完成配置的机器学习模型包括的算子是固定的。
然而,不同处理器支持的算子不一样,当处理器不支持机器学习模型中包括的某些算子时,机器学习模型无法在该处理器上正常运行。
发明内容
本申请实施例提供一种模型运行方法、装置、终端及存储介质。所述技术方案如下:
一方面,本申请实施例提供一种模型运行方法,所述方法包括:
获取待运行的机器学习模型,所述机器学习模型包括至少一个算子;
确定所述机器学习模型中的n个第一算子,所述第一算子是指第一处理器不支持运行的算子,所述n为正整数;
基于所述第一算子,对所述机器学习模型进行调整,得到调整后的机器学习模型,所述调整后的机器学习模型包括所述第一处理器支持运行的算子;
在所述第一处理器上运行所述调整后的机器学习模型。
另一方面,本申请实施例提供一种一种模型运行装置,所述装置包括:
模型获取模块,用于获取待运行的机器学习模型,所述机器学习模型包括至少一个算子;
算子确定模块,用于确定所述机器学习模型中的n个第一算子,所述第一算子是指第一处理器不支持运行的算子,所述n为正整数;
模型调整模块,用于基于所述第一算子,对所述机器学习模型进行调整,得到调整后的机器学习模型,所述调整后的机器学习模型包括所述第一处理器支持运行的算子;
模型运行模块,用于在所述第一处理器上运行所述调整后的机器学习模型。
再一方面,本申请实施例提供一种终端,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上述方面所述的方法。
又一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上述方面所述的方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过根据机器学习模型中包括的处理器不支持运行的算子,对机器学习模型进行调整,使得调整后的机器学习模型包括的算子为处理器支持运行的算子。因为调整后的机器学习模型不包括处理器不支持运行的算子,保证了机器学习模型在处理器上的正常运行。
附图说明
图1是本申请一个实施例提供的模型运行方法的流程图;
图2是本申请一个实施例提供的调整前后机器学习模型的示意图;
图3是本申请一个实施例提供的维度变换的示意图;
图4是本申请一个实施例提供的特征级联的示意图;
图5是本申请一个实施例提供的模型运行装置的框图;
图6是本申请另一个实施例提供的模型运行装置的框图;
图7是本申请一个实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例的执行主体可以是终端,例如终端可以是手机、平板电脑、电子书阅读设备、多媒体播放设备、可穿戴设备或其它便携式电子设备。当然,在其它可能的实现方式中,终端还可以是其它电子设备,例如,医疗设备、智能家居设备等。
机器学习模型是一种可以具有计算机视觉、自然语言处理或社会网络分析等功能的网络模型,当用户想要通过人脸识别解锁时,终端通过机器学习模型进行人脸识别检测,从而判断该用户是否具有解锁的权限;当用户想要将语音转换为汉字时,终端通过机器学习模型进行语音识别,将语音转换为汉字显示。
下面,对本申请的几个实施例进行介绍说明。
请参考图1,其示出了本申请一个实施例提供的模型运行方法的流程图。该方法可以包括如下几个步骤。
步骤101,获取待运行的机器学习模型,机器学习模型包括至少一个算子。
算子是一个函数空间到另一个函数空间上的映射,也即,算子是一种具备数据处理功能的算法。机器学习模型中包括至少一个算子,例如,卷积算子、池化算子、激励函数算子等。有些算子可能具有不止一种的实现方式,同一算子的不同实现方式,是用于实现该算子的功能的不同算法。例如,池化算子具有最大池化法、平均池化法、中心池化法等实现方式。机器学习模型包括深度学习模型,在示例性实施例中,终端可以获取待运行的深度学习模型。
步骤102,确定机器学习模型中的n个第一算子,第一算子是指第一处理器不支持运行的算子,n为正整数。
第一处理器可以是NPU(Neural-Network Processing Unit,神经网络处理器)、DSP(Digital Signal Processing,数字信号处理器)、GPU(Graphics Processing Unit,图像处理器)或其它处理器。不同处理器支持运行的算子不同,例如,NPU支持运行算子1、算子2和算子3,DSP支持运行算子1、算子3、算子4和算子5,GPU支持运行算子2、算子4、算子5和算子7。
示例性地,终端可以基于第一处理器支持运行的算子和机器学习模型中包括的算子,确定第一算子;或者,终端可以基于第一处理器不支持运行的算子和机器学习模型中包括的算子,确定第一算子。可选地,终端内预先存储有第一处理器支持运行的算子对应的列表,或第一处理器不支持运行的算子对应的列表。
例如,第一处理器支持运行的算子包括算子1、算子2和算子3,机器学习模型包括算子1、算子2、算子3、算子4和算子5,则第一算子包括算子4和算子5。
步骤103,基于第一算子,对机器学习模型进行调整,得到调整后的机器学习模型,调整后的机器学习模型包括第一处理器支持运行的算子。
仍然以上述示例为例,算子4和算子5是第一处理器不支持运行的算子,机器学习模型如图2的左侧部分所示,调整后的机器学习模型如图2的右侧部分所示。调整后的机器学习模型包括算子1、算子2和算子3,上述算子1、算子2和算子3是第一处理器支持运行的算子。
步骤104,在第一处理器上运行调整后的机器学习模型。
因为调整后的机器学习模型包括的算子都是第一处理器支持运行的算子,所以可以在第一处理器上正常运行调整后的机器学习模型。
综上所述,本申请实施例提供的技术方案中,通过根据机器学习模型中包括的处理器不支持运行的算子,对机器学习模型进行调整,使得调整后的机器学习模型包括的算子为处理器支持运行的算子。因为调整后的机器学习模型不包括处理器不支持运行的算子,保证了机器学习模型在处理器上的正常运行。
示例性地,本申请实施例包括以下几个步骤。
1、获取待运行的机器学习模型,机器学习模型包括至少一个算子。
2、确定机器学习模型中的n个第一算子,第一算子是指第一处理器不支持运行的算子,n为正整数。
3、将第一算子从机器学习模型中去除,得到调整后的机器学习模型。
将n个第一算子从机器学习模型中去除,得到调整后的机器学习模型。例如,机器学习模型包括算子1、算子2、算子3、算子4和算子5,第一算子包括算子4和算子5,则将算子4和算子5从机器学习模型中去除,得到调整后的机器学习模型,调整后的机器学习模型包括算子1、算子2和算子3。
示例性地,通过如下方式得到调整后的机器学习模型:
3.1、按照机器学习模型包括的各个算子的运行顺序,确定目标第一算子,目标第一算子是指运行顺序在n个第一算子中为第一个的第一算子;
假设机器学习模型包括的各个算子的运行顺序如下:算子1-算子2-算子3-算子4-算子5-算子6,第一算子包括算子3、算子5和算子6,因为算子3是运行顺序在所有第一算子中为第一个的算子,所以算子3是目标第一算子。
3.2、将目标第一算子作为切割点,将目标第一算子以及运行顺序在目标第一算子之后的算子从机器学习模型中去除,得到调整后的机器学习模型。
仍让以上述示例为例,将算子3作为切割点,将算子3-算子6从机器学习模型中去除,得到调整后的机器学习模型,调整后的机器学习模型包括算子1和算子2。
4、在第一处理器上运行调整后的机器学习模型。
综上所述,本申请实施例提供的技术方案中,通过将处理器不支持的算子从机器学习模型中去除,保证调整后的机器学习模型包括的算子都是处理器支持运行的算子,使得调整后的机器学习模型能够在处理器上正常运行。
另外,将运行顺序在n个第一算子中为第一个的算子以及运行顺序在该算子之后的算子从机器学习模型中去除,保证了调整后的机器学习模型中的算子的运行顺序是顺畅连续的。
在一种可能的实现方式中,终端可以在支持运行第一算子的处理器上运行第一算子。此时,上述模型运行方法还可以包括以下几个步骤:
1、从处理器集合中选择第二处理器。
在本申请实施例中,处理器集合中包括至少一个处理器,第二处理器是支持运行第一算子的处理器。可选地,处理器集合包括CPU(Central Processing Unit,中央处理器)、NPU、DSP、GPU或其它处理器,本申请实施例对处理器集合中包括的处理器不作限定。
因为不同处理器支持运行的算子不同,所以n个第一算子中各个第一算子对应的第二处理器可能相同,也可能不同。
在一个示例中,终端选取处理器集合中支持运行第一算子,且运算速度最快的处理器作为第二处理器。
示例性地,NPU的运算速度>DSP的运算速度>GPU的运算速度>CPU的运算速度,假设处理器集合中包括NPU,且NPU支持第一算子,则将NPU作为第二处理器。
在另一个示例中,终端获取处理器集合包括的至少一个处理器各自的状态信息,状态信息用于表征处理器的运行状态;根据处理器集合包括的至少一个处理器各自的状态信息,确定第二处理器。
示例性地,状态信息可以是处理器的运算空间空闲值,运算空间空闲值越大,表明该处理器的剩余处理能力越强,第一算子在该处理器上的运算速度较快;反之,运算空间空闲值越小,表明该处理器的剩余处理能力越弱,第一算子在该处理器上的运算速度较慢。终端可以从处理器集合中选取运算空间空闲值最大的处理器作为第二处理器。
在可能的实现方式中,终端还可以结合第一算子的运算时间和处理器集合包括的至少一个处理器各自的状态信息,确定第二处理器。若第一算子的运算时间较长,则终端可以选取运行状态较好的处理器作为第二处理器;若第一算子的运算时间较短,则终端可以选取运行状态中等的处理器作为第二处理器。
2、在第二处理器上运行第一算子。
当终端确定好第二处理器后,终端可以在第二处理器上运行第一算子。
需要说明的是,第一算子的输入数据为调整后的机器学习模型的输出数据。
在另一种可能的实现方式中,终端可以对第一算子进行处理,以使得处理后的第一算子可以在第一处理器上运行。此时,上述模型运行方法还可以包括以下几个步骤:
1、对于n个第一算子中的第i个第一算子,获取第i个第一算子对应的数学模型,i为小于等于n的正整数。
数学模型是运用数理逻辑方法和数学语言建构的科学或工程模型,可以用公式进行表达。例如LSTM(Long Short-Term Memory,LSTM)算子,LSTM算子是在隐藏层各神经元中增加记忆单元,从而使时间序列上的记忆信息可控的算子,每次在隐藏层各神经元间传递时通过几个可控制门(输入门、遗忘门、输出门)控制之前信息和当前信息的记忆和遗忘程度。
2、对数学模型进行拆解,获得至少一个拆解元素。
数学模型中包括多个数学公式,每个数学公式中的单个元素或元素组合对应一个基本算子,因此,对数学模型进行拆解,可以获得多个拆解元素,再根据拆解元素寻求至少一个第二算子拼接实现第一算子的计算功能。
示例性地,对数学模型进行拆解,获得数学模型对应的变量名称、函数和约束条件;将上述变量名称、函数和约束条件作为至少一个拆解元素。
3、获取至少一个拆解元素对应的至少一个第二算子,通过拼接至少一个第二算子实现第i个第一算子的计算功能,第二算子是指第一处理器支持运行的算子。
获得至少一个拆解元素后,再确定至少一个拆解元素对应的至少一个第二算子,通过拼接至少一个第二算子实现第i个第一算子的计算功能。拆解元素和第二算子可以是一一对应关系,也可以不是一一对应关系,例如,可以是一个拆解元素对应一个第二算子,也可以是多个拆解元素对应一个第二算子。
4、在第一处理器上运行至少一个第二算子。
因为第二算子是第一处理器支持运行的算子,将第一算子的计算功能通过至少一个第二算子实现,相当于在第一处理器上实现第一算子的计算功能。
综上所述,本申请实施例提供的技术方案中,通过将第一算子放在支持运行该第一算子的处理器上运行,保证了第一算子的正常运行,且第一算子的输入数据是调整后的机器学习模型的输出数据,保证了原始机器学习模型的精度。
另外,选取运算速度最快的处理器作为第一算子的运行处理器,保证了第一算子的运算速度;根据处理器的运行状态选取第一算子的运行处理器,合理选择处理器,避免造成处理器的处理开销过大的问题。通过上述两种方式选择第一算子的运行处理器,处理器的选择更为灵活。
另外,通过对第一算子对应的数学模型进行拆解,获得至少一个拆解元素,并获取至少一个拆解元素对应的至少一个第一处理器支持运行的第二算子,通过拼接至少一个第二算子实现第一算子的计算功能,以使得第一算子的计算功能可以在第一处理器上实现,保证了机器学习模型的完整性。
在示意性实施例中,以机器学习模型为SSD(Single Shot MultiBox Detector,单点多框检测)模型、第一处理器为NPU为例进行介绍说明。根据SSD模型包括的至少一个算子和NPU支持的算子列表,确定第一算子包括RESHAPE(重塑)算子和CONCATENATION(联结)算子,RESHAPE算子是神经网络中常用的对张量进行维度变换的算子,例如,对图3左侧部分的特征做RESHAPE运算,可以得到图3右侧部分的特征,实现了从2维到3维的转换。CONCATENATION算子是神经网络中常用于将提取的特征进行级联的算子,对图4左侧部分的特征做CONCATENATION运算,可以得到图4右侧部分的特征,实现了将多个特征进行联合。基于RESHAPE算子和CONCATENATION算子,对SSD模型进行切割,把NPU不支持的RESHAPE算子和CONCATENATION算子从SSD模型中去除,使得调整后的SSD模型包括的算子都是NPU支持运行的算子。因为调整后的SSD模型中少了RESHAPE算子和CONCATENATION算子,为了不降低SSD模型的精度,可以在SSD模型的后处理中在CPU侧实现这两个算子的计算功能,也即,将调整后的SSD模型的输出数据拷贝到CPU侧,在CPU侧先进行RESHAPE算子和CONCATENATION算子的计算,再对最终的计算结果做非极大值抑制来得到最终的输出结果。因为减少了数据来回拷贝的时间,所以调整后的SSD模型的执行时间较原始SSD模型的运算时间减少,NPU的运算功耗也减少了;因为调整后的SSD模型包括的算子较原始SSD模型包括的算子少,所以模型初始化的时间也减少了。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图5,其示出了本申请一个实施例提供的模型运行装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置500可以包括:模型获取模块510、算子确定模块520、模型调整模块530和模型运行模块540。
所述模型获取模块510,用于获取待运行的机器学习模型,所述机器学习模型包括至少一个算子。
所述算子确定模块520,用于确定所述机器学习模型中的n个第一算子,所述第一算子是指第一处理器不支持运行的算子,所述n为正整数。
所述模型调整模块530,用于基于所述第一算子,对所述机器学习模型进行调整,得到调整后的机器学习模型,所述调整后的机器学习模型包括所述第一处理器支持运行的算子。
所述模型运行模块540,用于在所述第一处理器上运行所述调整后的机器学习模型。
综上所述,本申请实施例提供的技术方案中,通过根据机器学习模型中包括的处理器不支持运行的算子,对机器学习模型进行调整,使得调整后的机器学习模型包括的算子为处理器支持运行的算子。因为调整后的机器学习模型不包括处理器不支持运行的算子,保证了机器学习模型在处理器上的正常运行。
可选地,所述模型调整模块530,用于:
将所述第一算子从所述机器学习模型中去除,得到所述调整后的机器学习模型。
可选地,所述模型调整模块530,用于:
按照所述机器学习模型包括的各个算子的运行顺序,确定目标第一算子,所述目标第一算子是指运行顺序在所述n个第一算子中为第一个的第一算子;
将所述目标第一算子作为切割点,将所述目标第一算子以及运行顺序在所述目标第一算子之后的算子从所述机器学习模型中去除,得到所述调整后的机器学习模型。
可选地,如图6所示,所述装置500,还包括:处理器选择模块550和算子运行模块560。
所述处理器选择模块550,用于从处理器集合中选择第二处理器,所述处理器集合中包括至少一个处理器,所述第二处理器是支持运行所述第一算子的处理器。
所述算子运行模块560,用于在所述第二处理器上运行所述第一算子。
可选地,所述处理器选择模块550,用于:
选取所述处理器集合中支持运行所述第一算子,且运算速度最快的处理器作为所述第二处理器。
可选地,所述处理器选择模块550,用于:
获取所述处理器集合包括的至少一个处理器各自的状态信息,所述状态信息用于表征处理器的运行状态;
根据所述处理器集合包括的至少一个处理器各自的状态信息,确定所述第二处理器。
可选地,所述装置500,还包括:元素获取模块570和算子拼接模块580。
所述模型获取模块510,还用于对于所述n个第一算子中的第i个第一算子,获取所述第i个第一算子对应的数学模型,所述i为小于等于n的正整数。
所述元素获取模块570,用于对所述数学模型进行拆解,获得至少一个拆解元素。
所述算子拼接模块580,用于获取所述至少一个拆解元素对应的至少一个第二算子,通过拼接所述至少一个第二算子实现所述第i个第一算子的计算功能,所述第二算子是指所述第一处理器支持运行的算子。
所述算子运行模块560,还用于在所述第一处理器上运行所述至少一个第二算子。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图7,其示出了本申请一个实施例提供的终端700的结构框图。终端700可以是终端或其它电子设备,终端可以是手机、平板电脑、电子书阅读设备、多媒体播放设备、可穿戴设备或其它便携式电子设备。
本申请实施例中的终端700可以包括一个或多个如下部件:处理器710和存储器720。
处理器710可以包括一个或者多个处理核心。处理器710利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器720内的指令、程序、代码集或指令集,以及调用存储在存储器720内的数据,执行终端的各种功能和处理数据。可选地,处理器710可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器710可集成中央处理器(CentralProcessing Unit,CPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统和应用程序等;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器710中,单独通过一块芯片进行实现。
可选地,处理器710执行存储器720中的程序指令时实现上述各个方法实施例提供的方法。
存储器720可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选地,该存储器720包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器720可用于存储指令、程序、代码、代码集或指令集。存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令、用于实现上述各个方法实施例的指令等;存储数据区可存储根据终端的使用所创建的数据等。
上述终端的结构仅是示意性的,在实际实现时,终端可以包括更多或更少的组件,比如:显示屏等,本实施例对此不作限定。
本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由终端的处理器加载并执行以实现上述方法实施例中的各个步骤。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述方法。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种模型运行方法,其特征在于,所述方法包括:
获取待运行的机器学习模型,所述机器学习模型包括至少一个算子;
确定所述机器学习模型中的n个第一算子,所述第一算子是指第一处理器不支持运行的算子,所述n为正整数;
基于所述第一算子,对所述机器学习模型进行调整,得到调整后的机器学习模型,所述调整后的机器学习模型包括所述第一处理器支持运行的算子;
在所述第一处理器上运行所述调整后的机器学习模型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一算子,对所述机器学习模型进行调整,得到调整后的机器学习模型,包括:
将所述第一算子从所述机器学习模型中去除,得到所述调整后的机器学习模型。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一算子从所述机器学习模型中去除,得到所述调整后的机器学习模型,包括:
按照所述机器学习模型包括的各个算子的运行顺序,确定目标第一算子,所述目标第一算子是指运行顺序在所述n个第一算子中为第一个的第一算子;
将所述目标第一算子作为切割点,将所述目标第一算子以及运行顺序在所述目标第一算子之后的算子从所述机器学习模型中去除,得到所述调整后的机器学习模型。
4.根据权利要求1所述的方法,其特征在于,所述确定所述机器学习模型中的n个第一算子之后,还包括:
从处理器集合中选择第二处理器,所述处理器集合中包括至少一个处理器,所述第二处理器是支持运行所述第一算子的处理器;
在所述第二处理器上运行所述第一算子。
5.根据权利要求4所述的方法,其特征在于,所述从处理器集合中选择第二处理器,包括:
选取所述处理器集合中支持运行所述第一算子,且运算速度最快的处理器作为所述第二处理器。
6.根据权利要求4所述的方法,其特征在于,所述从处理器集合中选择第二处理器,包括:
获取所述处理器集合包括的至少一个处理器各自的状态信息,所述状态信息用于表征处理器的运行状态;
根据所述处理器集合包括的至少一个处理器各自的状态信息,确定所述第二处理器。
7.根据权利要求1所述的方法,其特征在于,所述确定所述机器学习模型中的n个第一算子之后,还包括:
对于所述n个第一算子中的第i个第一算子,获取所述第i个第一算子对应的数学模型,所述i为小于等于n的正整数;
对所述数学模型进行拆解,获得至少一个拆解元素;
获取所述至少一个拆解元素对应的至少一个第二算子,通过拼接所述至少一个第二算子实现所述第i个第一算子的计算功能,所述第二算子是指所述第一处理器支持运行的算子;
在所述第一处理器上运行所述至少一个第二算子。
8.一种模型运行装置,其特征在于,所述装置包括:
模型获取模块,用于获取待运行的机器学习模型,所述机器学习模型包括至少一个算子;
算子确定模块,用于确定所述机器学习模型中的n个第一算子,所述第一算子是指第一处理器不支持运行的算子,所述n为正整数;
模型调整模块,用于基于所述第一算子,对所述机器学习模型进行调整,得到调整后的机器学习模型,所述调整后的机器学习模型包括所述第一处理器支持运行的算子;
模型运行模块,用于在所述第一处理器上运行所述调整后的机器学习模型。
9.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至7任一项所述的方法。
CN201910762846.1A 2019-08-19 2019-08-19 模型运行方法、装置、终端及存储介质 Active CN110458294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910762846.1A CN110458294B (zh) 2019-08-19 2019-08-19 模型运行方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910762846.1A CN110458294B (zh) 2019-08-19 2019-08-19 模型运行方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN110458294A true CN110458294A (zh) 2019-11-15
CN110458294B CN110458294B (zh) 2022-02-25

Family

ID=68487429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910762846.1A Active CN110458294B (zh) 2019-08-19 2019-08-19 模型运行方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN110458294B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111028226A (zh) * 2019-12-16 2020-04-17 北京百度网讯科技有限公司 算法移植的方法及装置
CN111340237A (zh) * 2020-03-05 2020-06-26 腾讯科技(深圳)有限公司 数据处理和模型运行方法、装置和计算机设备
CN111782403A (zh) * 2020-07-17 2020-10-16 Oppo广东移动通信有限公司 数据处理方法、装置以及电子设备
CN113222121A (zh) * 2021-05-31 2021-08-06 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及设备
CN113469328A (zh) * 2021-06-24 2021-10-01 上海寒武纪信息科技有限公司 执行转数穿过的装置、板卡、方法及可读存储介质
CN113806095A (zh) * 2021-09-23 2021-12-17 广州极飞科技股份有限公司 一种网络模型部署方法、装置、存储介质及边缘设备
CN114492737A (zh) * 2021-12-31 2022-05-13 北京百度网讯科技有限公司 数据处理方法、装置及电子设备、存储介质及程序产品
CN114691566A (zh) * 2020-12-31 2022-07-01 Oppo广东移动通信有限公司 Ai模型的运行方法、加载方法、装置及ic芯片
CN115883564A (zh) * 2023-02-21 2023-03-31 青岛创新奇智科技集团股份有限公司 一种媒体流处理方法、装置、电子设备及存储介质
WO2024060916A1 (zh) * 2022-09-22 2024-03-28 华为技术有限公司 一种算子运行方式的配置方法、装置及相关系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130304684A1 (en) * 2012-05-10 2013-11-14 Yan M. Yufik Systems and methods for a computer understanding multi modal data streams
CN104598318A (zh) * 2014-12-30 2015-05-06 北京奇艺世纪科技有限公司 节点计算能力的汇报方法和计算节点
CN107168782A (zh) * 2017-04-24 2017-09-15 复旦大学 一种基于Spark与GPU的并行计算系统
CN109754073A (zh) * 2018-12-29 2019-05-14 北京中科寒武纪科技有限公司 数据处理方法、装置、电子设备和可读存储介质
CN110020720A (zh) * 2019-04-01 2019-07-16 北京中科寒武纪科技有限公司 算子拼接方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130304684A1 (en) * 2012-05-10 2013-11-14 Yan M. Yufik Systems and methods for a computer understanding multi modal data streams
CN104598318A (zh) * 2014-12-30 2015-05-06 北京奇艺世纪科技有限公司 节点计算能力的汇报方法和计算节点
CN107168782A (zh) * 2017-04-24 2017-09-15 复旦大学 一种基于Spark与GPU的并行计算系统
CN109754073A (zh) * 2018-12-29 2019-05-14 北京中科寒武纪科技有限公司 数据处理方法、装置、电子设备和可读存储介质
CN110020720A (zh) * 2019-04-01 2019-07-16 北京中科寒武纪科技有限公司 算子拼接方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
STEFAN VALENTIN ET AL.: ""Extending Generalized Processor Sharing for multi-operator scheduling in cellular networks"", 《2013 9TH INTERNATIONAL WIRELESS COMMUNICATIONS AND MOBILE COMPUTING CONFERENCE (IWCMC)》 *
亢良伊 等: ""可扩展机器学习的并行与分布式优化算法综述"", 《软件学报》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111028226A (zh) * 2019-12-16 2020-04-17 北京百度网讯科技有限公司 算法移植的方法及装置
CN111340237A (zh) * 2020-03-05 2020-06-26 腾讯科技(深圳)有限公司 数据处理和模型运行方法、装置和计算机设备
CN111340237B (zh) * 2020-03-05 2024-04-26 腾讯科技(深圳)有限公司 数据处理和模型运行方法、装置和计算机设备
WO2022012119A1 (zh) * 2020-07-17 2022-01-20 Oppo广东移动通信有限公司 数据处理方法、装置、电子设备及存储介质
CN111782403A (zh) * 2020-07-17 2020-10-16 Oppo广东移动通信有限公司 数据处理方法、装置以及电子设备
CN114691566A (zh) * 2020-12-31 2022-07-01 Oppo广东移动通信有限公司 Ai模型的运行方法、加载方法、装置及ic芯片
CN113222121A (zh) * 2021-05-31 2021-08-06 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及设备
CN113222121B (zh) * 2021-05-31 2023-08-29 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及设备
CN113469328B (zh) * 2021-06-24 2024-03-19 上海寒武纪信息科技有限公司 执行转数穿过的装置、板卡、方法及可读存储介质
CN113469328A (zh) * 2021-06-24 2021-10-01 上海寒武纪信息科技有限公司 执行转数穿过的装置、板卡、方法及可读存储介质
CN113806095A (zh) * 2021-09-23 2021-12-17 广州极飞科技股份有限公司 一种网络模型部署方法、装置、存储介质及边缘设备
CN114492737A (zh) * 2021-12-31 2022-05-13 北京百度网讯科技有限公司 数据处理方法、装置及电子设备、存储介质及程序产品
WO2024060916A1 (zh) * 2022-09-22 2024-03-28 华为技术有限公司 一种算子运行方式的配置方法、装置及相关系统
CN115883564A (zh) * 2023-02-21 2023-03-31 青岛创新奇智科技集团股份有限公司 一种媒体流处理方法、装置、电子设备及存储介质
CN115883564B (zh) * 2023-02-21 2023-05-23 青岛创新奇智科技集团股份有限公司 一种媒体流处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110458294B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
CN110458294A (zh) 模型运行方法、装置、终端及存储介质
US11360819B2 (en) Systems and methods for data management
EP3496008B1 (en) Method and apparatus for processing convolution operation in neural network
EP3349153A1 (en) Convolutional neural network (cnn) processing method and apparatus
CN109800877A (zh) 神经网络的参数调整方法、装置及设备
CN106326985A (zh) 神经网络训练方法和装置及数据处理方法和装置
US20220083857A1 (en) Convolutional neural network operation method and device
CN110210609A (zh) 基于神经框架搜索的模型训练方法、装置以及终端
CN113010312B (zh) 一种超参数调优方法、装置及存储介质
WO2019046727A1 (en) PROVIDING FLEXIBLE MATRIX PROCESSORS FOR REALIZING NEURAL NETWORK CONVOLUTION IN MATRIX PROCESSOR-BASED DEVICES
CN112463159B (zh) 编译方法、装置、电子设备和存储介质
CN114078195A (zh) 分类模型的训练方法、超参数的搜索方法以及装置
CN116842307B (zh) 数据处理方法、装置、设备、芯片及存储介质
US20230297609A1 (en) Systems and methods for naming objects based on object content
US20200226458A1 (en) Optimizing artificial neural network computations based on automatic determination of a batch size
CN108446758B (zh) 一种面向人工智能计算的神经网络数据串行流水处理方法
CN107402905A (zh) 基于神经网络的计算方法及装置
Vo et al. A deep learning accelerator based on a streaming architecture for binary neural networks
CN114286985A (zh) 用于预测内核调谐参数的方法和设备
CN112836806B (zh) 一种数据格式调整方法、装置、计算机设备和存储介质
CN113159188B (zh) 用于图像分类的模型生成方法、装置、设备及存储介质
CN111667046A (zh) 深度学习加速方法及用户终端
KR102491688B1 (ko) 금융투자상품의 방향성 예측 모델링 방식을 결정하기 위한 전자 장치의 제어 방법
CN113378863B (zh) 一种图像处理方法及装置、电子设备和存储介质
CN113168555A (zh) 减少卷积神经网络的资源消耗的系统及相关方法

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