CN111694617A - 网络离线模型的处理方法、人工智能处理装置及相关产品 - Google Patents

网络离线模型的处理方法、人工智能处理装置及相关产品 Download PDF

Info

Publication number
CN111694617A
CN111694617A CN202010422462.8A CN202010422462A CN111694617A CN 111694617 A CN111694617 A CN 111694617A CN 202010422462 A CN202010422462 A CN 202010422462A CN 111694617 A CN111694617 A CN 111694617A
Authority
CN
China
Prior art keywords
network
sub
artificial intelligence
offline model
processing unit
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
CN202010422462.8A
Other languages
English (en)
Other versions
CN111694617B (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.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies 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 Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN202010422462.8A priority Critical patent/CN111694617B/zh
Publication of CN111694617A publication Critical patent/CN111694617A/zh
Application granted granted Critical
Publication of CN111694617B publication Critical patent/CN111694617B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种网络离线模型的处理方法、人工智能处理装置及相关产品,其中,相关产品包括组合处理装置,所述组合处理装置包括该人工智能处理装置,通用互联接口和其它处理装置;所述人工智能处理装置与所述其它处理装置进行交互,共同完成用户指定的计算操作。本申请实施例有利于提高网络离线模型的运算速度。

Description

网络离线模型的处理方法、人工智能处理装置及相关产品
技术领域
本申请涉及信息处理技术领域,具体涉及一种网络离线模型的处理方法、人工智能处理装置及相关产品。
背景技术
随着信息技术的不断发展和人们日益增长的需求,人们对信息及时性的要求越来越高了。目前,终端对信息的获取以及处理均是基于处理器获得的。在实践中发现,这种基于处理器运行软件程序来处理信息的方式,受限于网络模型的类型,也就是说,对于一些新生的网络模型,处理器对网络类型的版本不兼容。目前,在处理器上运行的网络离线模型,来源于在机器框架下构建的,在构建网络模型时,未对各层网络加以区分,导致单一处理器无法兼容各种网络离线模型。
发明内容
本申请实施例提供了一种离线模型的处理方法,在保存离线网络时,保存该离线网络的类型标识,以期依据类型标识兼容执行所有类型的离线网络。
第一方面,本申请实施例提供了一种网络离线模型的处理方法,该方法包括:
获取网络离线模型中各子网络的运行单元信息,所述运行单元信息包括子网络与运行单元类型之间的对应关系,所述运行单元类型包括通用处理单元类型或人工智能处理单元类型;
根据所述运行单元信息,在构建的所述网络离线模型中定义子网络运行参数,得到构建后的网络离线模型,所述子网络运行参数用于表示各子网络的运行单元类型。
第二方面,本申请实施例提供一种离线模型的人工智能装置,所述装置包括:
获取模块,用于获取网络离线模型中各子网络的运行单元信息,所述运行单元信息包括子网络与运行单元类型之间的对应关系,所述运行单元类型包括通用处理单元类型或人工智能处理单元类型;
构建模块,用于根据所述运行单元信息,在构建的所述网络离线模型中定义子网络运行参数,得到构建后的网络离线模型,所述子网络运行参数用于表示各子网络的运行单元类型。
第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
第五方面,本申请实施例提供一种组合处理装置,其特征在于,所述组合处理装置包括如第二方面所述的人工智能处理装置,通用互联接口和其它处理装置;
所述人工智能处理装置与所述其它处理装置进行交互,共同完成用户指定的计算操作。
可以看出,在本申请实施例中,获取网络离线模型的运行单元信息,在构建该网络离线模型时,定义各个子网络的运行参数,在运行参数中标记各个子网络的运行单元类型,从而对网络离线模型的子网络进行分类,以便在运行该网络离线模型时,将各个子网络分配各自对应的处理器执行,实现兼容执行该网络离线模型,提高人工智能处理装置可运行的网络离线模型的类型。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种网络离线模型的处理方法;
图2为本申请实施例提供的另一种网络离线模型的处理方法;
图3为本申请实施例提供的一种网络离线模型的人工智能装置的结构示意图;
图4为本申请实施例提供的一种网络离线模型的人工智能装置的功能单元组成框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请中的人工智能处理装置可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备MID(MobileInternet Devices,简称:MID)或穿戴式设备等,上述电子设备仅是举例,而非穷举,包含但不限于上述人工智能处理装置。
首先,参阅图1,图1为本申请实施例提供的一种网络离线模型的处理方法的流程示意图,该方法应用于网络离线模型,该网络离线模型包括通用处理器和人工智能处理器,该方法包括如步骤S101~S102中所示的内容:
步骤S101、获取网络离线模型中各子网络的运行单元信息,所述运行单元信息包括子网络与运行单元类型之间的对应关系,所述运行单元类型包括通用处理单元类型或人工智能处理单元类型。
可选的,在子网络的运行单元类型为人工智能处理单元类型时,所述运行单元信息还包括该子网络的入口函数信息,该入口函数信息用于在人工智能处理单元运行该子网络时,通过该入口函数调取与该子网络对应的离线指令,通过预先编译好部分子网络的离线指令,加快了网络离线模型的运行速度。
其中,通用处理器中可以包括中央处理单元CPU(Central Processing Unit,简称:CPU)、图形处理单元GPU(Graphics Processing Unit,简称:GPU)和/或图像处理单元IPU(Image Processing Unit,简称:IPU)中的一种或几种的组合,该人工智能处理器包括机器学习处理器单元MLU(Machine Learning Processing Unit,简称:MLU),其中,人工智能处理器可由多个MLU集成,组成为一个具有多核的人工智能处理器。
可选的,在获取网络离线模型中各子网络的运行单元信息之前,首先确定该网络离线模型的多个网络层是否可以融合,如是,将可以融合的多个网络层融合为一个子网络,将不能融合的网络层作为一个单独的子网络,在对该网络离线模型执行融合操作后,得到与该网络离线模型的若干个子网络。故每个子网络可以是由一个单独的网络层,也可是有几个网络层融合得到一个子网络,举例来说,如该网络离线模型中包含卷积层Convolution、归一化层BatchNorm以及缩放层Scale时,可以将该网络离线模型中的卷积层Convolution,归一化层BatchNorm以及缩放层Scale融合,得到一个子网络。
可选的,在将该网络离线模型融合后,获取该网络离线模型中各子网络的运行单元信息,以确定每个子网络的运行单元类型,以在构建该网络离线模型时,在与网络的运行单元类型对应的字段中定义各个子网络的运行单元类型。
步骤S102、根据所述运行单元信息,在构建的所述网络离线模型中定义子网络运行参数,得到构建后的网络离线模型,所述子网络运行参数用于表示各子网络的运行单元类型。
可选的,该人工智能装置利用预先安装的机器学习框架构建网络离线模型,下面以卷积神经网络框架caffe(Convolutional Architecture for Fast FeatureEmbedding,简称:caffe)为例对构建网络离线模型做具体说明。
对于caffe框架来说,在生成离线文件需要两个输入,一个是包含网络信息的prototxt文件,另一个是包含已经训练好的权重和偏置的caffemodel文件。在生成离线文件时,首先caffe先调用底层库接口创建一个离线文件,然后caffe会将输入的prototxt整个网络根据每一层是否可以在人工智能处理器上运行划分为若干个子网络,然后若该子网络可以在人工智能处理器上执行。caffe框架则会调用底层库接口将该子网络编译成能在人工智能处理器上运行的离线指令。接着caffe框架通过调用底层库提供的接口将生成的离线指令保存到预先生成好的离线文件中,同时对于像卷积和全连接等需要权重的层,caffe会先从已经训练好的caffemodel中将权重和偏置数据读出并存放在相应的blob中,其中blob为caffe里面定义的一种数据结构,用于层与层之间传递数据。这些权重和偏置数据会在caffe调用底层库生成离线指令的时候一同传递给底层库,然后caffe调用底层库的相关接口将离线指令,权重以及偏置数据一起存放到离线文件中。另外,在caffe调用底层库编译子网络生成离线指令的时候,caffe可以指定当运行该子网络时可以在几个核上运行,也就是所谓的指定模型并行度,该子网络可当成一个模型。
离线文件中除了存放离线指令和权重、偏置等数据外,还会存放自定义的单元信息,每个子网络对应一个单元信息。单元信息可以通过protobuf机制生成,并且caffe可以通过调用protobuf提供的相关接口将该单元信息追加到离线文件的后面,这些信息用于后面运行离线文件时使用。
可选的,在本申请的一个实施例中,可以预先定义格式为.SegmentInfoUnit单元信息,其用于保存每个子网络的子网络运行参数。其中,该子网络运行参数包括子网络名称、运行单元类型和子网络参数信息,该子网络参数信息可以用于指示在执行该子网络时对处理器的资源调度。举例来说,子网络参数信息可以包括卷积核信息等,可以用于表示运行该子网络需要调配的人工智能处理单元的资源信息。
可选的,该单元信息还可以保存与各子网络对应的的离线指令的索引标识以及计算参数的索引标识,该索引标识便于从离线文件中读取与各子网络对应的离线指令以及计算参数,然后,将该单元信息追加在该离线文件caffemodel中,以便基于该索引标识,通过caffe的底层接口从该离线文件中读取每个子网络的子网络运行参数以及与该子网络对应的离线指令以及计算参数。
其中,该计算参数为与每个子网络运算相关的参数数据,例如,当该子网络为卷积层时,该计算参数为权值和偏置,如该卷积层无偏置时,偏置为零,再如,如该子网络为激活层时,该计算参数为激活函数。
在一可能的示例中,将每个子网络的子网络运行参数保存在与每个子网络对应的数据结构中可以为:基于Protocol Buffers机制,获取预先设置的BP Message,通过Protocol Buffers机制中的编译器将每个子网络的layer(子网络中的层)中的符合该BPMessage中的字段编译成二进制文件,将该二进制文件保存在格式为.SegmentInfoUnit的数据结构中。当然,Protocol Buffers机制仅为示例性说明,本申请不对保存子网络的网络信息做唯一限定。
可以看出,在本申请实施例中,通过获取子网路的运行单元信息,在构建网络离线模型时,定义每个子网路的运行参数,使构建好的离线模型的离线文件中保存有各个子网络的运行单元类型,提供了一种新型保存网络离线模型的方法;而且,基于保存的各个子网络的运行单元类型,可以由不同的运行单元来运行不同的网络层,当模型中有新的层时,通过灵活指定新增层的运行单元,可以使网络离线模型的运行更加灵活,更兼容的应用到各种人工智能装置中。
参阅图2,图2为本申请实施例提供的另一种网络离线模型的处理方法的流程示意图,该方法应用于人工智能装置,该人工智能装置可以包括通用处理器和人工智能处理器,该方法包括如步骤S201~S205中所示的内容:
步骤S201、获取网络离线模型中各子网络的运行单元信息,所述运行单元信息包括子网络与运行单元类型之间的对应关系,所述运行单元类型包括通用处理单元类型或人工智能处理单元类型。
步骤S202、根据所述运行单元信息,在构建的所述网络离线模型中定义子网络运行参数,得到构建后的网络离线模型,所述子网络运行参数用于表示各子网络的运行单元类型。
步骤S203、根据所述子网络运行参数,确定目标子网络对应的运行单元,所述目标子网络为所述网络离线模型的任一子网络。
步骤S204、将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型。
可选的,将所述目标子网络在对应的运行单元上执行的实现过程可以为:通过机器学习框架的接口依次遍历该数据结构读取网络离线模型的网络运行参数,依据该网络运行参数确定执行该目标子网络的运行单元,以及与该目标子网络连接的上一个子网络以及下一个子网络的运行单元,即完成前向推理过程,指示该目标子网络的运行单元从上一个子网络的运行单元出获取输入数据,并将目标子网络的输出结果作为输入数据发送给下一个子网络的运行单元,举例来说,如该目标子网络的网络运行参数中的运行单元类型为人工智能处理单元类型,上一个子网络的运行单元类型为通用处理单元类型,下一个子网络的运行单元类型为通用处理单元类型,则指示人工智能处理单元从通用处理单元获取数据,将获取到的数据作为输入数据,并将得到的输出结果发送给通用处理单元,完成对该网络离线模型的前向推理过程,按照该网络离线模型的运行顺序运行。
可以看出,在本申请实施例中,在人工智能处理装置中设置有通用处理单元和人工智能处理单元,基于每个子网络的运行参数判断出每个子网络的运行单元,然后,由相应的运行单元运行该子网络,从而实现在人工智能处理单元不支持该子网络的运算时,由通用处理单元来运行该子网络的运算,即利用通用处理单元和人工智能处理单元协同工作,能够兼容运行所有类型的网络离线模型,从而提高网络离线模型的应用范围,而且通用处理单元和人工智能处理单元协同工作,将能在人工智能处理单元运行的网络层放到人工智能处理单元上运行,相对于将整个网络离线模型全部放在通用处理单元执行来说,加速了整个离线网络的推理过程,而且,对可以在人工智能处理单元上运行的网络层预先生成离线指令,节省了边执行边生成离线指令所消耗的时间;另外可以由通用处理单元执行网络离线模型的部分或全部运算,降低人工智能处理单元的工作压力。
在一可能的示例中,在根据所述子网络运行参数,确定目标子网络对应的运行单元的实现过程可以为:获取所述网络离线模型的模型并行度;根据人工智能处理单元调度机制、所述模型并行度和所述子网络运行参数,确定所述目标子网络对应的人工智能处理单元。
在上述可能的示例中,在确定所述目标子网络对应的人工智能处理单元时,从该网络离线模型的离线文件中读取与该目标子网络对应的离线指令,解析该离线指令,得到该离线指令中蕴含的模型并行度,依据该模型并行度,得到运行该目标子网络时所需的人工智能处理单元的数量,获取人工智能处理单元的调度机制,依据该调度机制从人工智能处理器中调配与该数量对应的多个人工智能处理单元,将与该数量对应的多个人工智能处理单元指定为运行该目标子网络的人工智能处理单元,将与该子网络对应的离线指令以及计算参数分发给该多个人工智能处理单元,以完成该目标子网络的运算。在本示例中,可预先设定每个子网络的模型并行度,即指定运行该子网络所需的人工智能处理单元的数量,实现在人工智能处理器上实现多核人工智能处理单元共同执行与该子网络对应的运算,提高该子网络的运行速度。
在一可能的示例中,当每个人工智能处理单元中由多个处理线程时,即每个人工智能处理单元中包含多个数据传输通道时,所述将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型的实现过程可以为:获取调用底层库时的接口指令;解析该接口指令,得到该接口指令中包含的通道标识;根据所述通道标识确定所述人工智能处理单元传输数据的通道;通过所述通道将所述目标子网络在所述人工智能处理单元上运行,以执行所述网络离线模型。在本示例中,每个目标人工智能处理单元包含多个数据传输通道,在调用底层库时,通过接口指令指定相应的通道向目标人工智能处理单元传输离线指令以及计算参数,从而加快该人工智能处理单元的读写速度,加速网络离线模型的推理过程。
参阅图3,图3为本申请实施例提供的一种网络离线模型的人工智能装置的结构示意图,如图3所示,该人工智能装置300包括通用处理器和人工智能处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
获取网络离线模型中各子网络的运行单元信息,所述运行单元信息包括子网络与运行单元类型之间的对应关系,所述运行单元类型包括通用处理单元类型或人工智能处理单元类型;
根据所述运行单元信息,在构建的所述网络离线模型中定义子网络运行参数,得到构建后的网络离线模型,所述子网络运行参数用于表示各子网络的运行单元类型。
其中,各子网络包括融合后的多个网络层;
其中,子网络运行参数包括子网络名称、运行单元类型信息和子网络参数信息。
在一可能的示例中,上述程序还用于执行以下步骤的指令:
执行所述构建后的网络离线模型,具体用于执行以下步骤的指令:
根据所述子网络运行参数,确定目标子网络对应的运行单元,所述目标子网络为所述网络离线模型的任一子网络;
将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型。
在一可能的示例中,若所述目标子网络对应的运行单元为人工智能处理单元,在根据所述子网络运行参数,确定目标子网络对应的运行单元时,上述程序具体用于执行以下步骤的指令:
获取所述网络离线模型的模型并行度;
根据人工智能处理单元调度机制、所述模型并行度和所述子网络运行参数,确定所述目标子网络对应的人工智能处理单元。
在一可能的示例中,若所述目标子网络对应的运行单元为人工智能处理单元,在将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型时,上述程序具体用于执行以下步骤的指令:
在调用底层库接口时,获取从所述底层接口传入的通道标识;
根据所述通道标识确定所述人工智能处理单元传输数据的通道;
通过所述通道将所述目标子网络在所述人工智能处理单元上执行,以执行所述网络离线模型。
参阅图4,图4示出了上述实施例中所涉及的网络离线模型的人工智能装置400的一种可能的功能单元组成框图,人工智能装置400包括:获取模块410、构建模块420;
获取模块410,用于获取网络离线模型中各子网络的运行单元信息,所述运行单元信息包括子网络与运行单元类型之间的对应关系,所述运行单元类型包括通用处理单元类型或人工智能处理单元类型;
构建模块420,用于根据所述运行单元信息,在构建的所述网络离线模型中定义子网络运行参数,得到构建后的网络离线模型,所述子网络运行参数用于表示各子网络的运行单元类型。
其中,各个子网络包括融合后的多个网络层。
其中,所述子网络运行参数包括子网络名称、运行单元类型信息和子网络参数信息。
在一可能的示例中,人工智能装置400还包括:执行模块430;
执行模块430,用于执行所述构建后的网络离线模型,具体用于:
根据所述子网络运行参数,确定目标子网络对应的运行单元,所述目标子网络为所述网络离线模型的任一子网络;
将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型。
在一可能的示例中,若所述目标子网络对应的运行单元为人工智能处理单元,在根据所述子网络运行参数,确定目标子网络对应的运行单元,执行模块430,具体用于:
获取所述网络离线模型的模型并行度;
根据人工智能处理单元调度机制、所述模型并行度和所述子网络运行参数,确定所述目标子网络对应的人工智能处理单元。
在一可能的示例中,若所述目标子网络对应的运行单元为人工智能处理单元,在将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型,执行模块430,具体用于:
在调用底层库接口时,获取从所述底层接口传入的通道标识;
根据所述通道标识确定所述人工智能处理单元传输数据的通道;
通过所述通道将所述目标子网络在所述人工智能处理单元上执行,以执行所述网络离线模型。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于存储计算机程序,其中,该计算机程序被处理器执行,以实现如上述方法实施例中记载的任何一种离线模型的处理方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种离线模型的处理方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种网络离线模型的处理方法,其特征在于,所述方法包括:
获取网络离线模型中各子网络的运行单元信息,所述运行单元信息包括子网络与运行单元类型之间的对应关系,所述运行单元类型包括通用处理单元类型或人工智能处理单元类型;
根据所述运行单元信息,在构建的所述网络离线模型中定义子网络运行参数,得到构建后的网络离线模型,所述子网络运行参数用于表示各子网络的运行单元类型;
所述方法还包括:
执行所述构建后的网络离线模型,具体包括:
根据所述子网络运行参数,确定目标子网络对应的运行单元,所述目标子网络为所述网络离线模型的任一子网络;
将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型;
若所述目标子网络对应的运行单元为人工智能处理单元,所述将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型,包括:
在调用底层库接口时,获取从所述底层库接口传入的通道标识;
根据所述通道标识确定所述人工智能处理单元传输数据的通道;
通过所述通道将所述目标子网络在所述人工智能处理单元上执行,以执行所述网络离线模型。
2.根据权利要求1所述的方法,其特征在于,各子网络包括融合后的多个网络层。
3.根据权利要求1所述的方法,其特征在于,所述子网络运行参数包括子网络名称、运行单元类型信息和子网络参数信息。
4.根据权利要求1所述的方法,其特征在于,若所述目标子网络对应的运行单元为人工智能处理单元,所述根据所述子网络运行参数,确定目标子网络对应的运行单元,包括:
获取所述网络离线模型的模型并行度;
根据人工智能处理单元调度机制、所述模型并行度和所述子网络运行参数,确定所述目标子网络对应的人工智能处理单元。
5.一种人工智能处理装置,其特征在于,所述装置包括:
获取模块,用于获取网络离线模型中各子网络的运行单元信息,所述运行单元信息包括子网络与运行单元类型之间的对应关系,所述运行单元类型包括通用处理单元类型或人工智能处理单元类型;
构建模块,用于根据所述运行单元信息,在构建的所述网络离线模型中定义子网络运行参数,得到构建后的网络离线模型,所述子网络运行参数用于表示各子网络的运行单元类型;
所述装置还包括:执行模块;
所述执行模块,用于执行所述构建后的网络离线模型,具体用于:
根据所述子网络运行参数,确定目标子网络对应的运行单元,所述目标子网络为所述网络离线模型的任一子网络;
将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型;
若所述目标子网络对应的运行单元为人工智能处理单元,在将所述目标子网络在对应的运行单元上执行,以执行所述网络离线模型,所述执行模块,具体用于:
在调用底层库接口时,获取从所述底层库接口传入的通道标识;
根据所述通道标识确定所述人工智能处理单元传输数据的通道;
通过所述通道将所述目标子网络在所述人工智能处理单元上执行,以执行所述网络离线模型。
6.根据权利要求5所述的装置,其特征在于,各个子网络包括融合后的多个网络层。
7.根据权利要求5所述的装置,其特征在于,所述子网络运行参数包括子网络名称、运行单元类型信息和子网络参数信息。
8.根据权利要求5所述的装置,其特征在于,若所述目标子网络对应的运行单元为人工智能处理单元,在根据所述子网络运行参数,确定目标子网络对应的运行单元,所述执行模块,具体用于:
获取所述网络离线模型的模型并行度;
根据人工智能处理单元调度机制、所述模型并行度和所述子网络运行参数,确定所述目标子网络对应的人工智能处理单元。
9.一种计算机设备,包括存储器、处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
CN202010422462.8A 2018-12-29 2018-12-29 网络离线模型的处理方法、人工智能处理装置及相关产品 Active CN111694617B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010422462.8A CN111694617B (zh) 2018-12-29 2018-12-29 网络离线模型的处理方法、人工智能处理装置及相关产品

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811646109.7A CN109754072B (zh) 2018-12-29 2018-12-29 网络离线模型的处理方法、人工智能处理装置及相关产品
CN202010422462.8A CN111694617B (zh) 2018-12-29 2018-12-29 网络离线模型的处理方法、人工智能处理装置及相关产品

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811646109.7A Division CN109754072B (zh) 2018-12-21 2018-12-29 网络离线模型的处理方法、人工智能处理装置及相关产品

Publications (2)

Publication Number Publication Date
CN111694617A true CN111694617A (zh) 2020-09-22
CN111694617B CN111694617B (zh) 2023-05-02

Family

ID=66405011

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811646109.7A Active CN109754072B (zh) 2018-12-21 2018-12-29 网络离线模型的处理方法、人工智能处理装置及相关产品
CN202010422462.8A Active CN111694617B (zh) 2018-12-29 2018-12-29 网络离线模型的处理方法、人工智能处理装置及相关产品

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811646109.7A Active CN109754072B (zh) 2018-12-21 2018-12-29 网络离线模型的处理方法、人工智能处理装置及相关产品

Country Status (2)

Country Link
US (1) US11699073B2 (zh)
CN (2) CN109754072B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579196A (zh) * 2022-05-06 2022-06-03 成都前锋信息技术股份有限公司 基于自学习的计算机启动盘启动顺序控制方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020124948A1 (zh) * 2018-12-21 2020-06-25 中科寒武纪科技股份有限公司 网络离线模型的处理方法、人工智能处理装置及相关产品
CN109754072B (zh) 2018-12-29 2020-06-23 中科寒武纪科技股份有限公司 网络离线模型的处理方法、人工智能处理装置及相关产品
CN110764905B (zh) * 2019-09-24 2022-10-28 Oppo广东移动通信有限公司 网络模型生成方法、装置、计算机设备以及存储介质
CN112686378A (zh) * 2020-12-23 2021-04-20 展讯通信(上海)有限公司 神经网络的计算部署方法及装置、存储介质、计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039206A (zh) * 2006-03-13 2007-09-19 华为技术有限公司 通信网络及终端业务与网络分离的实现方法
US20120016816A1 (en) * 2010-07-15 2012-01-19 Hitachi, Ltd. Distributed computing system for parallel machine learning
CN108694441A (zh) * 2017-04-07 2018-10-23 上海寒武纪信息科技有限公司 一种网络处理器和网络运算方法
CN109104876A (zh) * 2017-04-20 2018-12-28 上海寒武纪信息科技有限公司 一种运算装置及相关产品

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533663B2 (en) * 2008-05-12 2013-09-10 Oracle America, Inc. System and method for utilizing available best effort hardware mechanisms for supporting transactional memory
US8813024B2 (en) * 2008-09-22 2014-08-19 International Business Machines Corporation System and a method for cross-platform porting of business application and making them contextually-aware on target platforms
CN103533609B (zh) * 2013-10-10 2016-07-06 成都达信通通讯设备有限公司 移动终端多apn网络通道并发网络系统及其创建方法
CN105095765B (zh) * 2014-05-14 2018-09-11 展讯通信(上海)有限公司 移动终端及其处理器系统、一种可信执行方法
CN106155978B (zh) * 2015-06-03 2019-11-01 上海红神信息技术有限公司 可重构系统的构建方法和装置
US10970617B2 (en) 2015-08-21 2021-04-06 Institute Of Automation Chinese Academy Of Sciences Deep convolutional neural network acceleration and compression method based on parameter quantification
CN105184366B (zh) * 2015-09-15 2018-01-09 中国科学院计算技术研究所 一种时分复用的通用神经网络处理器
CN106992872B (zh) 2016-01-21 2020-05-12 中国移动通信集团公司 一种信息处理的方法和系统
CN107231566B (zh) * 2016-03-25 2020-12-18 阿里巴巴集团控股有限公司 一种视频转码方法、装置和系统
CN107292382A (zh) 2016-03-30 2017-10-24 中国科学院声学研究所 一种神经网络声学模型激活函数定点量化方法
CN106156851B (zh) 2016-06-24 2019-04-05 科大讯飞股份有限公司 面向深度学习业务的加速装置及方法
US10701160B2 (en) * 2016-07-28 2020-06-30 Polybit Inc. System and method for a unified interface to networked webservices
CN107979482B (zh) * 2016-10-25 2021-06-11 腾讯科技(深圳)有限公司 一种信息处理方法、装置、发送端、去抖动端、接收端
CN108229258A (zh) 2016-12-21 2018-06-29 田文洪 一种基于深度学习和Spark的人脸并行识别方法
CN106610867B (zh) * 2016-12-21 2020-01-17 成都理工大学 一种片上网络任务调度方法及装置
CN106650913B (zh) 2016-12-31 2018-08-03 中国科学技术大学 一种基于深度卷积神经网络的车流密度估计方法
CN106886023B (zh) 2017-02-27 2019-04-02 中国人民解放军理工大学 一种基于动态卷积神经网络的雷达回波外推方法
US10785296B1 (en) * 2017-03-09 2020-09-22 X Development Llc Dynamic exchange of data between processing units of a system
US11074500B2 (en) 2017-06-20 2021-07-27 Battelle Memorial Institute Prediction of social media postings as trusted news or as types of suspicious news
CN107480789B (zh) 2017-08-07 2020-12-29 北京中星微电子有限公司 一种深度学习模型的高效转换方法及装置
CN107579993B (zh) * 2017-09-29 2020-09-25 北京云杉世纪网络科技有限公司 一种网络数据流的安全处理方法及装置
CN107844371A (zh) 2017-10-12 2018-03-27 北京京东尚科信息技术有限公司 任务处理方法、系统及电子设备
CN108037994B (zh) * 2017-11-15 2020-12-22 中国电子科技集团公司第三十二研究所 一种支持异构环境下多核并行处理的调度机制
CN108288089A (zh) 2018-01-29 2018-07-17 百度在线网络技术(北京)有限公司 用于生成卷积神经网络的方法和装置
CN108319720A (zh) * 2018-02-13 2018-07-24 北京百度网讯科技有限公司 基于人工智能的人机交互方法、装置及计算机设备
CN108615046A (zh) 2018-03-16 2018-10-02 北京邮电大学 一种储粮害虫检测识别方法及装置
CN108805267B (zh) 2018-05-28 2021-09-10 重庆大学 用于卷积神经网络硬件加速的数据处理方法
CN108776833B (zh) * 2018-06-05 2021-08-31 郑州云海信息技术有限公司 一种数据处理方法、系统及计算机可读存储介质
CN109063829B (zh) * 2018-06-22 2021-03-16 泰康保险集团股份有限公司 神经网络构建方法、装置、计算机设备和存储介质
CN109032671B (zh) 2018-06-25 2022-05-03 电子科技大学 一种基于数据并行策略的分布式深度学习方法及系统
CN109034386A (zh) 2018-06-26 2018-12-18 中国科学院计算机网络信息中心 一种基于资源调度器的深度学习系统及其方法
CN108921210B (zh) 2018-06-26 2021-03-26 南京信息工程大学 一种基于卷积神经网络的云分类方法
US11157844B2 (en) * 2018-06-27 2021-10-26 Software.co Technologies, Inc. Monitoring source code development processes for automatic task scheduling
CN108985921A (zh) * 2018-06-28 2018-12-11 中国银行股份有限公司 基于人工智能的信用评级方法及装置
CN111309486B (zh) * 2018-08-10 2024-01-12 中科寒武纪科技股份有限公司 转换方法、装置、计算机设备和存储介质
CN109754072B (zh) 2018-12-29 2020-06-23 中科寒武纪科技股份有限公司 网络离线模型的处理方法、人工智能处理装置及相关产品
WO2020188658A1 (ja) * 2019-03-15 2020-09-24 三菱電機株式会社 アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラム
CN111832739B (zh) * 2019-04-18 2024-01-09 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
CN110110621B (zh) 2019-04-23 2022-03-08 安徽大学 基于多特征整合深度学习模型的倾斜摄影点云分类方法
CN112183712A (zh) * 2019-07-03 2021-01-05 安徽寒武纪信息科技有限公司 深度学习算法的编译方法、装置及相关产品

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039206A (zh) * 2006-03-13 2007-09-19 华为技术有限公司 通信网络及终端业务与网络分离的实现方法
US20120016816A1 (en) * 2010-07-15 2012-01-19 Hitachi, Ltd. Distributed computing system for parallel machine learning
CN108694441A (zh) * 2017-04-07 2018-10-23 上海寒武纪信息科技有限公司 一种网络处理器和网络运算方法
CN109104876A (zh) * 2017-04-20 2018-12-28 上海寒武纪信息科技有限公司 一种运算装置及相关产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李静梅等: "多核处理器并行计算模型研究" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579196A (zh) * 2022-05-06 2022-06-03 成都前锋信息技术股份有限公司 基于自学习的计算机启动盘启动顺序控制方法

Also Published As

Publication number Publication date
CN109754072B (zh) 2020-06-23
CN111694617B (zh) 2023-05-02
US11699073B2 (en) 2023-07-11
CN109754072A (zh) 2019-05-14
US20200210829A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
CN109754072B (zh) 网络离线模型的处理方法、人工智能处理装置及相关产品
CN113034095B (zh) 结合rpa和ai的人机互动方法、装置、存储介质及电子设备
CN108304201B (zh) 对象更新方法、装置及设备
CN107516090B (zh) 一体化人脸识别方法和系统
CN107797826B (zh) 一种基于规则引擎的规则配置方法、终端以及设备
CN106528289B (zh) 资源的操作处理方法及装置
CN111143039B (zh) 一种虚拟机的调度方法、装置及计算机存储介质
CN111145745B (zh) 对话流程定制方法及装置
CN110633959A (zh) 基于图结构的审批任务创建方法、装置、设备及介质
CN113312083B (zh) 应用生成方法、装置及设备
CN110781180A (zh) 一种数据筛选方法和数据筛选装置
CN115358401A (zh) 一种推理服务的处理方法、装置、计算机设备及存储介质
CN112965710A (zh) 计算图的处理方法、装置和系统
CN112306471A (zh) 一种任务的调度方法和装置
CN108804088A (zh) 协议处理方法和装置
CN110908646B (zh) 一种积木式回调函数块构建方法、装置、存储介质和处理器
CN114723976A (zh) 计算图的子图模式匹配方法及装置
CN110989982B (zh) 一种带返回值函数的积木块构建方法、装置、存储介质和处理器
US11188548B2 (en) Profile data store automation via bots
CN112328498A (zh) 业务的测试方法和装置、存储介质、电子装置
CN112631638A (zh) 终端应用更新方法、装置、存储介质及电子设备
CN110956672A (zh) 一种营销策略的构建方法及装置
CN114997401B (zh) 自适应推理加速方法、装置、计算机设备和存储介质
CN111208980B (zh) 一种数据分析处理方法和系统
CN113949601B (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