CN109740735B - 多神经网络输出方法及装置、服务器、计算机可读介质 - Google Patents
多神经网络输出方法及装置、服务器、计算机可读介质 Download PDFInfo
- Publication number
- CN109740735B CN109740735B CN201811639019.5A CN201811639019A CN109740735B CN 109740735 B CN109740735 B CN 109740735B CN 201811639019 A CN201811639019 A CN 201811639019A CN 109740735 B CN109740735 B CN 109740735B
- Authority
- CN
- China
- Prior art keywords
- neural network
- operator
- output
- neural
- operation process
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 268
- 238000000034 method Methods 0.000 title claims abstract description 128
- 230000015654 memory Effects 0.000 claims description 22
- 230000001133 acceleration Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了一种多神经网络输出方法,根据多个神经网络间的预设输出帧率比将每个神经网络的算子运算过程或部分神经网络的算子运算过程划分为多次,通过网络切换的方式依序执行多个神经网络的算子运算过程以使得多个神经网络均匀输出且满足预设输出帧率比。本公开还提供了一种多神经网络输出装置、服务器、计算机可读介质。
Description
技术领域
本公开涉及自动控制技术领域,具体地,涉及多神经网络输出方法及装置、服务器、计算机可读介质。
背景技术
在自动驾驶过程中,自动驾驶端侧设备可能会同时面临多重的神经网络处理任务,如:通过前视相机和侧视相机分别采集图像并对图像做出分类,且在单位时间内均匀输出前视相机和侧视相机的图像分类结果。当用于处理多重神经网络处理任务的神经网络加速处理器为有限个时,有限个神经网络加速处理器无法使得输出帧率需满足预设输出帧率比值的多任务处理结果均匀输出。如:若A神经网络和B神经网络的输出帧率需满足3:1的预设输出帧率比值,当输出为A,A,A,B,A,A,A,B,A,A,A,B,…时,A神经网络任务处理结果和B神经网络任务处理结果的输出并不均匀。
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
发明内容
本公开实施例提出了多神经网络输出方法及装置、服务器、计算机可读介质。
第一方面,本公开实施例提供了一种多神经网络输出方法,包括:
根据多个神经网络间的预设输出帧率比将每个神经网络的算子运算过程或部分神经网络的算子运算过程划分为多次;
通过网络切换的方式依序执行所述多个神经网络的算子运算过程以使得多个神经网络均匀输出且满足所述预设输出帧率比。
在一些实施例中,当所述多个神经网络为第一神经网络和第二神经网络时,第一神经网络和/或第二神经网络的算子运算过程根据第一神经网络与第二神经网络的预设输出帧率比划分为多次,通过网络切换的方式依序执行多个神经网络的算子运算过程的步骤具体包括:
步骤S1、执行第一神经网络的算子运算过程并运算完成预先设定的第一数量个算子;
步骤S2、切换执行第二神经网络的算子运算过程并运算完成预先设定的第二数量个算子;
循环执行上述步骤S1和步骤S2,以使得第一神经网络和第二神经网络均匀输出。
在一些实施例中,在步骤S1和步骤S2之前还包括:
解析第一神经网络和第二神经网络以获取第一神经网络和第二神经网络中每个算子的描述信息;分别为每个算子分配输入输出内存,并添加输入输出内存的信息至描述信息中;
且,加载预先训练生成的与每个算子对应的模型数据。
在一些实施例中,所述描述信息至少包括输入数据地址和输出数据地址,所述步骤S1或步骤S2具体包括:
下发算子的描述信息至加速处理器,以供所述加速处理器根据所述描述信息和所述模型数据执行算子运算过程;在执行算子运算的过程中,上一算子的输出数据地址中存储的输出数据为下一算子的输入数据地址中存储的输入数据。
在一些实施例中,所述神经网络为用于实现自动驾驶的图像处理神经网络。
第二方面,本公开实施例提供了一种多神经网络输出装置,包括:
划分设定模块,用于根据多个神经网络间的预设输出帧率比将每个神经网络的算子运算过程或部分神经网络的算子运算过程划分为多次,并设定每次执行各神经网络的算子运算过程时需完成运算的算子的数量;
执行模块,用于通过网络切换的方式依序执行所述多个神经网络的算子运算过程以使得多个神经网络均匀输出且满足所述预设输出帧率比。
在一些实施例中,当所述多个神经网络为第一神经网络和第二神经网络时,所述划分设定模块具体用于根据第一神经网络与第二神经网络的预设输出帧率比将第一神经网络和/或第二神经网络的算子运算过程划分为多次,并设定每次执行第一神经网络的算子运算过程时需完成运算的算子的第一数量和第二神经网络的算子运算过程时需完成运算的算子的第二数量;
所述执行模块具体用于执行第一神经网络的算子运算过程并运算完成预先设定的第一数量个算子,切换执行第二神经网络的算子运算过程并运算完成预先设定的第二数量个算子。
在一些实施例中,还包括:
解析获取模块,用于解析第一神经网络和第二神经网络以获取第一神经网络和第二神经网络中每个算子的描述信息;
分配添加模块,用于分别为每个算子分配输入输出内存,并添加输入输出内存的信息至描述信息中;
加载模块,用于加载预先训练生成的与每个算子对应的模型数据。
在一些实施例中,所述描述信息至少包括输入数据地址和输出数据地址,所述执行模块具体用于下发算子的描述信息至加速处理器,以供所述加速处理器根据所述描述信息和所述模型数据执行算子运算过程;在执行算子运算的过程中,上一算子的输出数据地址中存储的输出数据为下一算子的输入数据地址中存储的输入数据。
在一些实施例中,所述神经网络为用于实现自动驾驶的图像处理神经网络。
第三方面,本公开实施例提供了一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的多神经网络输出方法。
第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如上所述的多神经网络输出方法。
本公开实施例提供的多神经网络输出方法,根据多个神经网络间的预设输出帧率比将每个神经网络的算子运算过程或部分神经网络的算子运算过程划分为多次,通过网络切换的方式依序执行多个神经网络的算子运算过程以使得多个神经网络均匀输出且满足预设输出帧率比。能够实现具有预设输出帧率比的多个神经网络输出均匀。
附图说明
附图用来提供对本公开的实施例作进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种多神经网络输出方法的流程示意图;
图2为本公开实施例提供的一种两个神经网络输出方法的流程示意图;
图3为本公开实施例提供的另一种两个神经网络输出方法的流程示意图;
图4为本公开实施例提供的一种多神经网络输出装置的结构示意图;
图5为本公开实施例提供的另一种多神经网络输出装置的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的多神经网络输出方法及装置、服务器、计算机可读介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
图1为本公开实施例提供的一种多神经网络输出方法的流程示意图,如图1所示,该方法可以由多神经网络输出装置来执行,该装置可以通过软件和/或硬件的方式实现,该装置可以集成在服务器中。该方法具体包括:
步骤101、根据多个神经网络间的预设输出帧率比将每个神经网络的算子运算过程或部分神经网络的算子运算过程划分为多次。
如:当三个神经网络A、B、C间的预设输出帧率比为3:1:1时,将神经网络B的算子运算过程划分为3次,每次执行神经网络B的算子运算过程时运算完成神经网络B中全部算子的1/3,将神经网络C的算子运算过程划分为3次,每次执行神经网络C的算子运算过程时运算完成神经网络C中全部算子的1/3。神经网络A的算子运算过程无需划分,每次执行神经网络A的算子运算过程时运算完成神经网络A中的全部算子。
步骤102、通过网络切换的方式依序执行多个神经网络的算子运算过程以使得多个神经网络均匀输出且满足预设输出帧率比。
如:通过网络切换的方式依序执行神经网络A、B、C的算子运算过程,输出A、1/3B、1/3C、A、2/3B、2/3C、A、B、C…神经网络A、B、C均匀输出且满足预设输出帧率比3:1:1。
可选地,当神经网络中的全部算子均运算完成时,取走该神经网络的输出数据并做后续处理或使用。
本实施例的提供的多神经网络输出方法可根据任意数量个神经网络的预设输出帧率比对其中的每个神经网络或部分神经网络的算子运算过程进行次数划分,以实现任意数量个神经网络均匀输出。
图2为本公开实施例提供的一种两个神经网络输出方法的流程示意图,两个神经网络分别为第一神经网络和第二神经网络,第一神经网络和/或第二神经网络的算子运算过程根据第一神经网络与第二神经网络的预设输出帧率比划分为多次,如图2所示,该方法具体包括:
步骤S1、执行第一神经网络的算子运算过程并运算完成预先设定的第一数量个算子。
步骤S2、切换执行第二神经网络的算子运算过程并运算完成预先设定的第二数量个算子,继续执行步骤S1。
第一神经网络与第二神经网络间具有预设输出帧率比,第一神经网络和/或第二神经网络的算子运算过程根据第一神经网络与第二神经网络的预设输出帧率比划分为多次,并设定每次执行第一神经网络的算子运算过程时需完成运算的算子的第一数量和每次执行第二神经网络的算子运算过程时需完成运算的算子的第二数量。如:当第一神经网络与第二神经网络间的预设输出帧率比为3:1时,将第二神经网络的算子运算过程划分为3次,第一数量为第一神经网络中全部算子的数量,第二数量为第二神经网络中全部算子数量的1/3;当预设输出帧率比为5:1时,将第二神经网络的算子运算过程划分为5次,第一数量为第一神经网络中全部算子的数量,第二数量为第二神经网络中全部算子数量的1/5;当预设输出帧率比为3:4时,将第一神经网络的算子运算过程划分为4次,将第二神经网络的算子运算过程划分为3次,第一数量为第一神经网络中全部算子数量的1/4,第二数量为第二神经网络中全部算子数量的1/3。这样的设计能够在满足预设输出帧率比的情况下,使得第一神经网络和第二神经网络的算子运算过程执行均匀且输出均匀。
第一神经网络和第二神经网络可以为用于实现自动驾驶的图像处理神经网络。预设输出帧率根据自动驾驶场景预设生成。如:在自动驾驶过程中,第一神经网络用于对前视传感器所采集的前视图像进行分类以输出前视图像分类结果,第二神经网络用于对侧视传感器所采集的侧视图像进行分类以输出侧视图像分类结果,前视图像分类结果的输出帧率大于侧视图像分类结果的输出帧率,在单位时间内,第一神经网络与第二神经网络的预设输出帧率比可以为3:1。
通过网络切换的方式循环执行上述步骤S1和步骤S2,能够使得
第一神经网络和第二神经网络的算子运算过程切换执行及输出均匀,且第一神经网络和第二神经网络的输出帧率比满足预设输出帧率比。如:循环执行步骤S1和步骤S2的结果依次为第一神经网络输出A、
第二神经网络输出1/3B、第一神经网络输出A、第二神经网络输出2/3B、第一神经网络输出A、第二神经网络输出B,第一神经网络和第二神经网络交替输出使得输出均匀,且第一神经网络和第二神经网络的输出帧率比满足预设输出帧率比3:1。
在自动驾驶过程中,第一神经网络中首个算子的输入数据可以为前视传感器所采集的前视图像,第二神经网络中首个算子的输入数据可以为侧视传感器所采集的侧视图像。第一神经网络的输出可以为根据前视传感器所采集的前视图像生成的前视图像分类结果,第二神经网络的输出可以为根据侧视传感器所采集的侧视图像生成的侧视图像分类结果。
图3为本公开实施例提供的另一种两个神经网络输出方法的流程示意图,如图3所示,在执行步骤S1和步骤S2之前还包括:
步骤S01、解析第一神经网络和第二神经网络以获取第一神经网络和第二神经网络中每个算子的描述信息。
每个算子的描述信息至少包括输入数据地址、算子大小、算子类型、算子参数及输出数据地址。
步骤S02、分别为每个算子分配输入输出内存,并添加输入输出内存的信息至描述信息中。
每个算子的描述信息中还包括输入输出内存的信息。本实施例中,通过分别为第一神经网络和第二神经网络中每个算子分配输入输出内存的方式,提升了执行步骤S1与步骤S2时第一神经网络和第二神经网络间的网络切换速度,当第一神经网络与第二神经网络相互切换时,无需释放当前神经网络所占用的内存且无需为切换至的神经网络申请内存,提升了网络切换效率。
步骤S03、加载预先训练生成的与每个算子对应的模型数据。
模型数据可以包括权重模型数据。模型数据从硬盘或SD卡中加载,与算子对应的模型数据用于实现该算子的运算。
其中,上述步骤S01、步骤S02与步骤S03之间不存在必然的前后步骤关系。如:步骤S03可在步骤S01、步骤S02之前执行,或步骤S03可与步骤S01、步骤S02同时执行。
基于上述步骤S01-S03,步骤S1和步骤S2中的算子运算过程具体包括:下发算子的描述信息至加速处理器,以供加速处理器根据描述信息和模型数据执行算子运算过程。
加速处理器可以为FPGA(Field-Programmable Gate Array,现场可编程门阵列)神经网络加速处理器。本实施例中仅通过单个加速处理器实现多神经网络的算子运算过程。加速处理器根据算子的描述信息和与算子对应的模型数据执行算子运算过程。在执行算子运算的过程中,上一算子的输出数据地址中存储的输出数据可作为下一算子的输入数据地址中存储的输入数据。如:执行第二神经网络的算子运算过程并运算完成n个算子,将第n个算子的输出数据作为第n+1个算子的输入数据,当下次切换执行第二神经网络的算子运算过程时,下发该第n+1个算子的描述信息至加速处理器以继续第二神经网络的算子运算。可选地,一个神经网络的算子总数量N为100。
本公开实施例提供的多神经网络输出方法,在多个神经网络的预设输出帧率比固定的情况下,将至少一个神经网络的算子运算过程分成数次完成,通过集中管理多个神经网络的计算现场及控制多个神经网络有序切换的方式,能够仅经单个加速处理器实现多个神经网络的输出均匀,提升了资源的利用率且避免了延时和等待。
本公开实施例提供的多神经网络输出方法适用于需快速输出各类图像分类结果的自动驾驶图像处理场景中时,能够在自动驾驶过程中均匀输出各角度采集图像的图像分类结果,提升了自动驾驶过程的用户体验。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
需要说明的是,在本公开中,上述各实施例中所涉及的技术手段在不相违背的情况可以相互结合。
图4为本公开实施例提供的一种多神经网络输出装置的结构示意图,如图4所示,该多神经网络输出装置包括:划分设定模块11和执行模块12。
划分设定模块11用于根据多个神经网络间的预设输出帧率比将每个神经网络的算子运算过程或部分神经网络的算子运算过程划分为多次,并设定每次执行各神经网络的算子运算过程时需完成运算的算子的数量。执行模块12用于通过网络切换的方式依序执行多个神经网络的算子运算过程以使得多个神经网络均匀输出且满足预设输出帧率比。
图5为本公开实施例提供的另一种多神经网络输出装置的结构示意图,如图5所示,当多个神经网络为第一神经网络和第二神经网络时,划分设定模块11具体用于根据第一神经网络与第二神经网络的预设输出帧率比将第一神经网络和/或第二神经网络的算子运算过程划分为多次,并设定每次执行第一神经网络的算子运算过程时需完成运算的算子的第一数量和第二神经网络的算子运算过程时需完成运算的算子的第二数量。执行模块12具体用于执行第一神经网络的算子运算过程并运算完成预先设定的第一数量个算子,切换执行第二神经网络的算子运算过程并运算完成预先设定的第二数量个算子。
进一步地,该装置还包括:解析获取模块13、分配添加模块14和加载模块15。
解析获取模块13用于解析第一神经网络和第二神经网络以获取第一神经网络和第二神经网络中每个算子的描述信息。分配添加模块14用于分别为每个算子分配输入输出内存,并添加输入输出内存的信息至描述信息中。加载模块15用于加载预先训练生成的与每个算子对应的模型数据。
进一步地,描述信息至少包括输入数据地址和输出数据地址,执行模块12具体用于下发算子的描述信息至加速处理器,以供加速处理器根据描述信息和模型数据执行算子运算过程;在执行算子运算的过程中,上一算子的输出数据地址中存储的输出数据为下一算子的输入数据地址中存储的输入数据。
进一步地,神经网络为用于实现自动驾驶的图像处理神经网络。
需要说明的是,在本公开中,上述各实施例中所涉及的技术手段在不相违背的情况可以相互结合。
本实施例中提供的多神经网络输出装置可用于实施本实施例中提供的对应的多神经网络输出方法。
另外,对于上述各模块的实现细节和技术效果的描述,可以参见前述方法实施例的说明,此处不再赘述。
本公开实施例还提供了一种服务器,该服务器包括:一个或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如前述各实施例所提供的多神经网络输出方法。
如:处理器为CPU。
本公开实施例还提供了一计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被执行时实现如前述各实施例所提供的多神经网络输出方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (12)
1.一种多神经网络输出方法,包括:
根据多个神经网络间的预设输出帧率比将每个神经网络的算子运算过程或部分神经网络的算子运算过程划分为多次;
通过网络切换的方式依序执行所述多个神经网络的算子运算过程以使得多个神经网络均匀输出且满足所述预设输出帧率比。
2.根据权利要求1所述的多神经网络输出方法,其中,当所述多个神经网络为第一神经网络和第二神经网络时,第一神经网络和/或第二神经网络的算子运算过程根据第一神经网络与第二神经网络的预设输出帧率比划分为多次,通过网络切换的方式依序执行多个神经网络的算子运算过程的步骤具体包括:
步骤S1、执行第一神经网络的算子运算过程并运算完成预先设定的第一数量个算子;
步骤S2、切换执行第二神经网络的算子运算过程并运算完成预先设定的第二数量个算子;
循环执行上述步骤S1和步骤S2,以使得第一神经网络和第二神经网络均匀输出。
3.根据权利要求2所述的多神经网络输出方法,其中,在步骤S1和步骤S2之前还包括:
解析第一神经网络和第二神经网络以获取第一神经网络和第二神经网络中每个算子的描述信息;分别为每个算子分配输入输出内存,并添加输入输出内存的信息至描述信息中;
且,加载预先训练生成的与每个算子对应的模型数据。
4.根据权利要求3所述的多神经网络输出方法,其中,所述描述信息至少包括输入数据地址和输出数据地址,所述步骤S1或步骤S2具体包括:
下发算子的描述信息至加速处理器,以供所述加速处理器根据所述描述信息和所述模型数据执行算子运算过程;在执行算子运算的过程中,上一算子的输出数据地址中存储的输出数据为下一算子的输入数据地址中存储的输入数据。
5.根据权利要求1-4任一所述的多神经网络输出方法,其中,所述神经网络为用于实现自动驾驶的图像处理神经网络。
6.一种多神经网络输出装置,包括:
划分设定模块,用于根据多个神经网络间的预设输出帧率比将每个神经网络的算子运算过程或部分神经网络的算子运算过程划分为多次,并设定每次执行各神经网络的算子运算过程时需完成运算的算子的数量;
执行模块,用于通过网络切换的方式依序执行所述多个神经网络的算子运算过程以使得多个神经网络均匀输出且满足所述预设输出帧率比。
7.根据权利要求6所述的多神经网络输出装置,其中,当所述多个神经网络为第一神经网络和第二神经网络时,所述划分设定模块具体用于根据第一神经网络与第二神经网络的预设输出帧率比将第一神经网络和/或第二神经网络的算子运算过程划分为多次,并设定每次执行第一神经网络的算子运算过程时需完成运算的算子的第一数量和第二神经网络的算子运算过程时需完成运算的算子的第二数量;
所述执行模块具体用于执行第一神经网络的算子运算过程并运算完成预先设定的第一数量个算子,切换执行第二神经网络的算子运算过程并运算完成预先设定的第二数量个算子。
8.根据权利要求7所述的多神经网络输出装置,其中,还包括:
解析获取模块,用于解析第一神经网络和第二神经网络以获取第一神经网络和第二神经网络中每个算子的描述信息;
分配添加模块,用于分别为每个算子分配输入输出内存,并添加输入输出内存的信息至描述信息中;
加载模块,用于加载预先训练生成的与每个算子对应的模型数据。
9.根据权利要求8所述的多神经网络输出装置,其中,所述描述信息至少包括输入数据地址和输出数据地址,所述执行模块具体用于下发算子的描述信息至加速处理器,以供所述加速处理器根据所述描述信息和所述模型数据执行算子运算过程;在执行算子运算的过程中,上一算子的输出数据地址中存储的输出数据为下一算子的输入数据地址中存储的输入数据。
10.根据权利要求6-9任一所述的多神经网络输出装置,其中,所述神经网络为用于实现自动驾驶的图像处理神经网络。
11.一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一所述的多神经网络输出方法。
12.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如权利要求1-5任一所述的多神经网络输出方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639019.5A CN109740735B (zh) | 2018-12-29 | 2018-12-29 | 多神经网络输出方法及装置、服务器、计算机可读介质 |
US16/728,644 US11514296B2 (en) | 2018-12-29 | 2019-12-27 | Output method and apparatus for multiple neural network, server and computer readable storage medium |
EP19220024.4A EP3674990A1 (en) | 2018-12-29 | 2019-12-30 | Output method and apparatus for multiple neural network, server and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639019.5A CN109740735B (zh) | 2018-12-29 | 2018-12-29 | 多神经网络输出方法及装置、服务器、计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109740735A CN109740735A (zh) | 2019-05-10 |
CN109740735B true CN109740735B (zh) | 2020-12-29 |
Family
ID=66362473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811639019.5A Active CN109740735B (zh) | 2018-12-29 | 2018-12-29 | 多神经网络输出方法及装置、服务器、计算机可读介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11514296B2 (zh) |
EP (1) | EP3674990A1 (zh) |
CN (1) | CN109740735B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111923919B (zh) * | 2019-05-13 | 2021-11-23 | 广州汽车集团股份有限公司 | 车辆控制方法、装置、计算机设备和存储介质 |
CN111984400B (zh) * | 2020-07-17 | 2024-04-02 | 深圳云天励飞技术有限公司 | 神经网络的内存分配方法及装置 |
CN112463158B (zh) * | 2020-11-25 | 2023-05-23 | 安徽寒武纪信息科技有限公司 | 编译方法、装置、电子设备和存储介质 |
CN112465122B (zh) * | 2020-12-09 | 2024-05-07 | 安徽寒武纪信息科技有限公司 | 优化神经网络模型中原始维度算子的装置和方法 |
CN112559042A (zh) * | 2020-12-16 | 2021-03-26 | 北京地平线信息技术有限公司 | 执行神经网络运算的指令生成方法、图像处理方法及装置 |
CN112633502B (zh) * | 2020-12-29 | 2022-03-22 | 北京百度网讯科技有限公司 | 一种深度学习模型的跨平台执行方法、装置及电子设备 |
CN113010469B (zh) * | 2021-03-18 | 2023-05-26 | 恒睿(重庆)人工智能技术研究院有限公司 | 图像特征提取方法、装置以及计算机可读存储介质 |
CN114501131B (zh) * | 2021-12-22 | 2023-08-08 | 天翼云科技有限公司 | 一种视频分析方法、装置、存储介质及电子设备 |
CN114118389B (zh) * | 2022-01-28 | 2022-05-10 | 深圳鲲云信息科技有限公司 | 神经网络数据处理方法、设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10078620B2 (en) * | 2011-05-27 | 2018-09-18 | New York University | Runtime reconfigurable dataflow processor with multi-port memory access module |
US10438112B2 (en) * | 2015-05-26 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus of learning neural network via hierarchical ensemble learning |
US10795836B2 (en) * | 2017-04-17 | 2020-10-06 | Microsoft Technology Licensing, Llc | Data processing performance enhancement for neural networks using a virtualized data iterator |
US11138724B2 (en) * | 2017-06-01 | 2021-10-05 | International Business Machines Corporation | Neural network classification |
US20190050714A1 (en) * | 2017-08-09 | 2019-02-14 | Ants Technology (Hk) Limited | Modular distributed artificial neural networks |
US10909657B1 (en) * | 2017-09-11 | 2021-02-02 | Apple Inc. | Flexible resolution support for image and video style transfer |
WO2019104638A1 (zh) * | 2017-11-30 | 2019-06-06 | 深圳市大疆创新科技有限公司 | 神经网络处理的方法、装置、加速器、系统和可移动设备 |
US10713754B1 (en) * | 2018-02-28 | 2020-07-14 | Snap Inc. | Remote distribution of neural networks |
CN109002358B (zh) * | 2018-07-23 | 2021-08-31 | 厦门大学 | 基于深度强化学习的移动终端软件自适应优化调度方法 |
WO2020121527A1 (ja) * | 2018-12-14 | 2020-06-18 | 三菱電機株式会社 | 学習識別装置、学習識別方法、及び、学習識別プログラム |
CN110516703A (zh) * | 2019-07-18 | 2019-11-29 | 平安科技(深圳)有限公司 | 基于人工智能的车辆识别方法、装置及存储介质 |
-
2018
- 2018-12-29 CN CN201811639019.5A patent/CN109740735B/zh active Active
-
2019
- 2019-12-27 US US16/728,644 patent/US11514296B2/en active Active
- 2019-12-30 EP EP19220024.4A patent/EP3674990A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP3674990A1 (en) | 2020-07-01 |
US20200210815A1 (en) | 2020-07-02 |
CN109740735A (zh) | 2019-05-10 |
US11514296B2 (en) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109740735B (zh) | 多神经网络输出方法及装置、服务器、计算机可读介质 | |
CN109918184B (zh) | 图片处理系统、方法及相关装置和设备 | |
US9645743B2 (en) | Selective I/O prioritization by system process/thread | |
US20150199214A1 (en) | System for distributed processing of stream data and method thereof | |
CN109462726B (zh) | 摄像头的控制方法和装置 | |
CN111400008A (zh) | 计算资源调度方法、装置及电子设备 | |
KR20210094639A (ko) | 리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체 | |
US9158588B2 (en) | Flexible task and thread binding with preferred processors based on thread layout | |
CN109615022B (zh) | 模型上线配置方法和装置 | |
JP2013045219A (ja) | データ処理システム、データ処理方法、リソースマネージャ装置、アクセラレータ装置及びプログラム | |
CN109240802B (zh) | 请求处理方法和装置 | |
CN114424214A (zh) | 用于高效深度学习的混合数据-模型并行性 | |
CN114153582A (zh) | 资源调度方法及装置、电子设备和存储介质 | |
CN115794317B (zh) | 一种基于虚拟机的处理方法、装置、设备及介质 | |
US9753769B2 (en) | Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof | |
CN109729110B (zh) | 管理专用处理资源的方法、设备以及计算机可读介质 | |
CN111625358B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN107634978B (zh) | 一种资源调度方法及装置 | |
CN114363414A (zh) | 一种调度计算实例的方法、装置及系统 | |
CN115775199A (zh) | 数据处理方法和装置、电子设备和计算机可读存储介质 | |
CN114077473A (zh) | 通信方法、装置及系统 | |
CN109062702B (zh) | 一种计算资源分配方法、相关装置及可读存储介质 | |
CN106210031A (zh) | 业务执行方法、装置、客户端及服务器 | |
CN114116181B (zh) | 一种分布式的数据分析任务调度系统及方法 | |
CN109345189A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211011 Address after: 105 / F, building 1, No. 10, Shangdi 10th Street, Haidian District, Beijing 100085 Patentee after: Apollo Intelligent Technology (Beijing) Co.,Ltd. Address before: 100085 Baidu Building, 10 Shangdi Tenth Street, Haidian District, Beijing Patentee before: BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) Co.,Ltd. |