CN110659119A - 一种图片处理方法、装置及系统 - Google Patents
一种图片处理方法、装置及系统 Download PDFInfo
- Publication number
- CN110659119A CN110659119A CN201910866485.5A CN201910866485A CN110659119A CN 110659119 A CN110659119 A CN 110659119A CN 201910866485 A CN201910866485 A CN 201910866485A CN 110659119 A CN110659119 A CN 110659119A
- Authority
- CN
- China
- Prior art keywords
- layer
- processed
- data
- channels
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 100
- 238000013136 deep learning model Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. 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/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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/454—Vector or matrix data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种图片处理方法,应用于深度学习模型,深度学习模型的每一层之前均设置有缓存队列,本申请中,预先为深度学习模型的每层预设了多个计算任务,用来并行的对各对应层中的多个通道中的权重参数及对应待处理数据进行计算,并将计算结果保存至其对应层之后的缓存队列中;此外,只要层之前的缓存队列中包括上一层保存的计算结果,该层便可从计算结果中获取待处理数据,便进行后续计算,层与层之间也形成了并行流水的计算方式。通过该种方式显著改善了图片处理时的吞吐率,提高了图片的处理并行度、速度及深度学习模型的计算性能。本发明还公开了一种图片处理装置及系统,具有与上述图片处理方法相同的有益效果。
Description
技术领域
本发明涉及图片处理技术领域,特别是涉及一种图片处理方法、装置及系统。
背景技术
深度学习为人工智能领域带来了巨大的发展进步,但深度学习模型的训练阶段和推理阶段都需要进行大量的计算,主要原因在于现有的图片处理方法只支持深度学习模型在同一时间进行一次计算,从而使得深度学习模型的计算顺序为:第一层的第一通道、第一层的第二通道直至第一层的最后一个通道、第二层的第一通道、第二层的第二通道直至第二层的最后一个通道…最后一层的第一通道、第一层的第二通道直至第一层的最后一个通道。这也使得在一台现代GPU(Graphics Processing Unit,图形处理器)的单台机器上完成一次基于ImageNet等基准数据集的训练阶段可能要耗费多达一周的时间。在推理阶段,一次模型推理也可能需要十几秒甚至几十秒才能完成一幅图片的推理。也因此,在视频目标检测领域,我们可以把一个视频看成很多幅图片,由于每幅图片模型推理的速度很慢,因而完全达不到实时性的要求。可见,如何提高图片的处理速度成为本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种图片处理方法、装置及系统,显著改善了图片处理时的吞吐率,提高了图片的处理速度及深度学习模型的计算性能。
为解决上述技术问题,本发明提供了一种图片处理方法,应用于深度学习模型,所述深度学习模型的每一层之前均设置有缓存队列,所述图片处理方法包括:
全局调度器将接收的待处理图片划分为多个通道数据并将多个所述通道数据保存至所述深度学习模型的第一层之前的缓存队列中;
各层的局部调度器从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,并将计算结果保存至其对应层之后的缓存队列中。
优选地,所述计算任务的数量与对应层的通道的数量相等。
优选地,所述计算任务的数量N小于对应层的通道的数量M。
优选地,局部调度器从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,包括:
局部调度器从其对应层之前的缓存队列中先获取N个通道对应地待处理数据,并调用其对应层对应地N个计算任务一一对应地对N个通道中的权重参数及对应待处理数据进行计算;
当出现完成计算的计算任务时,从其对应层之前的缓存队列中获取未计算通道对应地待处理数据,并调用已完成计算的计算任务继续对未计算通道中的权重参数及对应待处理数据进行计算,直至其对应层中的所有通道都已计算。
优选地,所述计算任务为乘法计算。
优选地,所述局部调度器在从其对应层之前的缓存队列中获取多个通道对应地待处理数据后,还包括:
所述局部调度器通过所述全局调度器向所述局部调度器的上一层对应地局部调度器发送待处理数据已读取信息,以便所述局部调度器的上一层对应地局部调度器开始对下一待处理图片进行处理,并将计算结果保存至所述待处理数据已读取信息对应地待处理数据的存储位置。
为解决上述技术问题,本发明还提供了一种图片处理装置,应用于深度学习模型,所述深度学习模型的每一层之前均设置有缓存队列,所述图片处理装置包括:
全局调度器,用于将接收的待处理图片划分为多个通道数据并将多个所述通道数据保存至所述深度学习模型的第一层之前的缓存队列中;
各层的局部调度器,用于从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,并将计算结果保存至其对应层之后的缓存队列中。
优选地,所述计算任务的数量N小于对应层的通道的数量M。
优选地,局部调度器从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,包括:
局部调度器从其对应层之前的缓存队列中先获取N个通道对应地待处理数据,并调用其对应层对应地N个计算任务一一对应地对N个通道中的权重参数及对应待处理数据进行计算;
当出现完成计算的计算任务时,从其对应层之前的缓存队列中获取未计算通道对应地待处理数据,并调用已完成计算的计算任务继续对未计算通道中的权重参数及对应待处理数据进行计算,直至其对应层中的所有通道都已计算。
为解决上述技术问题,本发明还提供了一种图片处理系统,应用于深度学习模型,所述深度学习模型的每一层之前均设置有缓存队列,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述图片处理方法的步骤。
本发明提供了一种图片处理方法,应用于深度学习模型,深度学习模型的每一层之前均设置有缓存队列,本申请中,预先为深度学习模型的每层预设了多个计算任务,用来并行的对各对应层中的多个通道中的权重参数及对应待处理数据进行计算,并将计算结果保存至其对应层之后的缓存队列中;此外,只要层之前的缓存队列中包括上一层保存的计算结果,该层便可从计算结果中获取待处理数据,便进行后续计算,层与层之间也形成了并行流水的计算方式。通过该种方式显著改善了图片处理时的吞吐率,提高了图片的处理并行度、速度及深度学习模型的计算性能。
本发明还提供了一种图片处理装置及系统,具有与上述图片处理方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种图片处理方法的流程图;
图2为本发明提供的一种图片处理装置的结构示意图;
图3为本发明提供的一种Ray分布式框架的原理图;
图4为本发明提供的一种基于深度学习模型的Ray调度原理图;
图5为本发明提供的一种图片处理系统的结构示意图。
具体实施方式
本发明的核心是提供一种图片处理方法、装置及系统,显著改善了图片处理时的吞吐率,提高了图片的处理速度及深度学习模型的计算性能。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1和图2,图1为本发明提供的一种图片处理方法的流程图,图2为本发明提供的一种图片处理装置的结构示意图。
该图片处理方法应用于深度学习模型,深度学习模型的每一层之前均设置有缓存队列,图片处理方法包括:
S11:全局调度器将接收的待处理图片划分为多个通道数据并将多个通道数据保存至深度学习模型的第一层之前的缓存队列中;
S12:各层的局部调度器从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,并将计算结果保存至其对应层之后的缓存队列中。
具体地,本申请首先在深度学习模型的每一层之前均设置一个缓存队列,例如图2所示,在层1前面设置一个缓存队列,在层2前面设置一个缓存队列…直至在层L前面设置一个缓存队列,L为不小于2的整数,缓存队列用于存放其后的层的待处理的数据,对于层1对应地缓存队列来说,其存放待处理图片划分后的多个通道数据,对于层2对应地缓存队列来说,其存放层1的计算结果,以此类推,对于层L对应地缓存队列来说,其存放层L-1的计算结果。
本申请还为深度学习模型中的每一层均设置了多个计算任务(具体可以为乘法运算),这里的计算任务可以理解为线程。同一时刻,一个计算任务对一个通道进行计算。每一层的计算任务的数量与该层的通道数有关,通常情况下,该层的通道数越多,设置的计算任务也越多。如果计算机的性能较高的话,可以使得计算任务的数量与该层的通道数相同,这样可以最大化地提高各通道的并行处理效果,也即该层的所有通道同时并行计算;如果计算机的性能不太高的话,可以使得计算任务的数量少于该层的通道数,该种方式下会使得该层的部分通道进行并行计算。
此外,还需要说明的是,本申请采用的是深度学习模型与Ray分布式框架相结合的方式,对深度学习模型中的每一层以及每一层中的每个通道进行划分。请参照图3,图3为本发明提供的一种Ray分布式框架的原理图。Ray分布式框架的原理为:把每台服务器看成是一个节点(Node),每个节点可以开启多个worker,每个worker为计算单元,可以执行任务(task)的计算,全局调度器可以把多个任务分配到局部调度器上,局部调度器再根据不同的策略把任务分配给不同的worker。全局调度器还可以实时的去查询相关任务的完成情况。而对于每个任务来说,可以非常简单的实现计算。通过ray.put(),ray.remote(),ray.get()三个函数就可实现一个任务的输入,计算和获取返回值,而且每个任务间相互独立的。若一个任务的计算需要另一个任务的输出,通过ray.get()获取相应的值即可。
本申请中,深度学习模型的每一层一一对应一个局部调度器,整体对应一个全局调度器,局部调度器对每一层的通道进行调度处理,全局对所有层进行调度处理;通道与通道之间的计算是独立的。
具体地,请参照图4,图4为本发明提供的一种基于深度学习模型的Ray调度原理图。全局调度器在接收到待处理图片后,将其划分为多个通道数据,例如划分为3个颜色通道R、G、B,并将多个通道数据保存至深度学习模型的第一层(也即层1)之前的缓存队列中,运算过程中,由于每一层对应地预设的计算任务为多个,因此,同一时刻可以对每一层中的多个通道进行计算,具体地,每一层的局部调度器根据该层的计算任务的个数从该层之前的缓存队列里获取多个通道对应地待处理数据,调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,如果计算任务的个数与通道的个数是一样的,则调用一次多个计算任务便可完成该层的计算;如果计算任务的个数小于通道的数量,则可以先调用多个计算任务对多个通道计算,等有的通道计算完成后再调用计算完成的计算任务对剩下的通道进行计算。此外,通过该种方式,每当一个计算任务计算完成之后,便把计算结果写入缓存队列。下一层中的某个计算任务只要通过ray.get()获取到其所需的值就可以开始计算。因此,当输入图片很多时,层与层之间的计算可以达到流水的效果,层内每个通道的计算可以达到并行计算的效果。
综上,本发明提供的一种图片处理方法,应用于深度学习模型,深度学习模型的每一层之前均设置有缓存队列,本申请中,预先为深度学习模型的每层预设了多个计算任务,用来并行的对各对应层中的多个通道中的权重参数及对应待处理数据进行计算,并将计算结果保存至其对应层之后的缓存队列中;此外,只要层之前的缓存队列中包括上一层保存的计算结果,该层便可从计算结果中获取待处理数据,便进行后续计算,层与层之间也形成了并行流水的计算方式。通过该种方式显著改善了图片处理时的吞吐率,提高了图片的处理并行度、速度及深度学习模型的计算性能。
在上述实施例的基础上:
作为一种优选地实施例,计算任务的数量与对应层的通道的数量相等。
上述实施例提到,当计算机的性能允许时,可以设置在每一层中,计算任务的数量与通道的数量相同,后续在调用多个计算任务对这些通道进行计算时,则调用一次多个计算任务便可完成该层的计算。该层中的所有通道实现了完全的并行计算,进一步提高了计算的处理速度及深度学习模型的计算性能。
作为一种优选地实施例,计算任务的数量N小于对应层的通道的数量M。
在计算机的性能较低时,此时每层对应地计算任务的数量N小于对应层的通道的数量M,这样,一层的全部通道可能不是完全并行,而是部分并行,部分串行,也即串并行结合。例如先计算的N个通道便是并行,后面的M-N个可以是并行(待先计算的N个通道全部计算完成后再调用N个已计算完上一批通道的计算任务继续计算后一批未计算的通道),也可以是串行(只要存在先计算的通道计算完成,便可调用该计算完成的计算任务继续计算该通道)。但与现有技术中的全部串行相比,也提高了计算的处理速度及深度学习模型的计算性能。
作为一种优选地实施例,局部调度器从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,包括:
局部调度器从其对应层之前的缓存队列中先获取N个通道对应地待处理数据,并调用其对应层对应地N个计算任务一一对应地对N个通道中的权重参数及对应待处理数据进行计算;
当出现完成计算的计算任务时,从其对应层之前的缓存队列中获取未计算通道对应地待处理数据,并调用已完成计算的计算任务继续对未计算通道中的权重参数及对应待处理数据进行计算,直至其对应层中的所有通道都已计算。
为了尽可能地提高了计算的处理速度及深度学习模型的计算性能,本实施例中,在计算任务的数量N小于对应层的通道的数量M时,局部调度器会从其对应层之前的缓存队列中先获取N个通道对应地待处理数据,并调用其对应层对应地N个计算任务一一对应地对N个通道中的权重参数及对应待处理数据进行计算,后续过程中,不会等到这一批N个通道全部计算完成再去调用N个计算任务计算下一批,而是一旦存在完成计算的计算任务时,便调用该以完成计算上一个通道的计算任务继续计算下一个未计算的通道,直至其对应层中的所有通道都已计算。
具体地,假设某层共有A、B、C、D、F四个通道,该层对应3个计算任务,则局部调度器可以先调用3个计算任务分别一一对应地对A、B、C进行计算,其中,计算A需要3s,计算B需要2s,计算C需要1s,计算D需要1.5s,计算F需要1s,由于A、B、C是并行处理的,则C会先计算完,B其次,A最后计算完;在C计算完后,此时局部调度器会继续调用已经完成C通道计算的计算任务继续对D通道进行计算,此外,在B通道计算完后,局部调度器会继续调用已完成B通道计算的计算任务继续对F通道进行计算,可见,该层计算完仅需3s,与传统技术中的需要3+2+1+1.5+1=7.5s相比,以及与A、B、C全部计算完后再并行对D、F计算所需的3+1.5=4.5s相比,本实施例可以提高计算的处理速度及深度学习模型的计算性能。
作为一种优选地实施例,计算任务为乘法计算。
具体地,本实施例中,调用计算任务对通道中的权重参数及对应待处理数据进行计算具体为权重参数与待处理数据的乘法运算。
作为一种优选地实施例,局部调度器在从其对应层之前的缓存队列中获取多个通道对应地待处理数据后,还包括:
局部调度器通过全局调度器向局部调度器的上一层对应地局部调度器发送待处理数据已读取信息,以便局部调度器的上一层对应地局部调度器开始对下一待处理图片进行处理,并将计算结果保存至待处理数据已读取信息对应地待处理数据的存储位置。
本实施例中,考虑到有一些缓存队列的存储空间是有限的,由于每张图片的计算结果都会存在缓存队列中,当图片较多时,则需要对缓存队列中已经被下一层读取过的待处理数据进行删除再存储或者直接覆盖保存。
因此,本实施例中,当层与层之间进行流程处理的过程中,当一层的局部调度器已经读取了上一层的待处理数据后,生成该待处理数据已读取信息,并将待处理数据已读取信息发送至全局调度器,全局调度器在接收到待处理数据已读取信息后,将待处理数据已读取信息发送至该层局部调度器的上一层对应地局部调度器,该层局部调度器的上一层对应地局部调度器在接收到待处理数据已读取信息再开始进行下一待处理图片的处理,得到计算结果后,可以直接覆盖保存或者先删除待处理数据已读取信息对应地待处理数据,然后再存储。还需要说明的是,通常情况下,在实际应用中,缓存队列中可以同时存储成千上百张图片的计算结果,是能够保证层与层之间的流水作业的,只是图片太多时(例如上万张)需要对已读取后的待处理数据进行更替。
请参照图2,该图片处理装置应用于深度学习模型,深度学习模型的每一层之前均设置有缓存队列,图片处理装置包括:
全局调度器11,用于将接收的待处理图片划分为多个通道数据并将多个通道数据保存至深度学习模型的第一层之前的缓存队列中;
各层的局部调度器12,用于从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,并将计算结果保存至其对应层之后的缓存队列中。
作为一种优选地实施例,计算任务的数量N小于对应层的通道的数量M。
作为一种优选地实施例,局部调度器12从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,包括:
局部调度器12从其对应层之前的缓存队列中先获取N个通道对应地待处理数据,并调用其对应层对应地N个计算任务一一对应地对N个通道中的权重参数及对应待处理数据进行计算;
当出现完成计算的计算任务时,从其对应层之前的缓存队列中获取未计算通道对应地待处理数据,并调用已完成计算的计算任务继续对未计算通道中的权重参数及对应待处理数据进行计算,直至其对应层中的所有通道都已计算。
对于本发明提供的图片处理装置的介绍请参照上述方法实施例,本发明在此不再赘述。
请参照图5,图5为本发明提供的一种图片处理系统的结构示意图,该图片处理系统应用于深度学习模型,深度学习模型的每一层之前均设置有缓存队列,包括:
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现如上述图片处理方法的步骤。
对于本发明提供的图片处理系统的介绍请参照上述方法实施例,本发明在此不再赘述。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种图片处理方法,应用于深度学习模型,其特征在于,所述深度学习模型的每一层之前均设置有缓存队列,所述图片处理方法包括:
全局调度器将接收的待处理图片划分为多个通道数据并将多个所述通道数据保存至所述深度学习模型的第一层之前的缓存队列中;
各层的局部调度器从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,并将计算结果保存至其对应层之后的缓存队列中。
2.如权利要求1所述的图片处理方法,其特征在于,所述计算任务的数量与对应层的通道的数量相等。
3.如权利要求1所述的图片处理方法,其特征在于,所述计算任务的数量N小于对应层的通道的数量M。
4.如权利要求3所述的图片处理方法,其特征在于,局部调度器从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,包括:
局部调度器从其对应层之前的缓存队列中先获取N个通道对应地待处理数据,并调用其对应层对应地N个计算任务一一对应地对N个通道中的权重参数及对应待处理数据进行计算;
当出现完成计算的计算任务时,从其对应层之前的缓存队列中获取未计算通道对应地待处理数据,并调用已完成计算的计算任务继续对未计算通道中的权重参数及对应待处理数据进行计算,直至其对应层中的所有通道都已计算。
5.如权利要求1所述的图片处理方法,其特征在于,所述计算任务为乘法计算。
6.如权利要求1至5任一项所述的图片处理方法,其特征在于,所述局部调度器在从其对应层之前的缓存队列中获取多个通道对应地待处理数据后,还包括:
所述局部调度器通过所述全局调度器向所述局部调度器的上一层对应地局部调度器发送待处理数据已读取信息,以便所述局部调度器的上一层对应地局部调度器开始对下一待处理图片进行处理,并将计算结果保存至所述待处理数据已读取信息对应地待处理数据的存储位置。
7.一种图片处理装置,应用于深度学习模型,其特征在于,所述深度学习模型的每一层之前均设置有缓存队列,所述图片处理装置包括:
全局调度器,用于将接收的待处理图片划分为多个通道数据并将多个所述通道数据保存至所述深度学习模型的第一层之前的缓存队列中;
各层的局部调度器,用于从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,并将计算结果保存至其对应层之后的缓存队列中。
8.如权利要求7所述的图片处理装置,其特征在于,所述计算任务的数量N小于对应层的通道的数量M。
9.如权利要求8所述的图片处理装置,其特征在于,局部调度器从其对应层之前的缓存队列中获取多个通道对应地待处理数据,并调用其对应层对应地多个计算任务对多个通道中的权重参数及对应待处理数据进行计算,包括:
局部调度器从其对应层之前的缓存队列中先获取N个通道对应地待处理数据,并调用其对应层对应地N个计算任务一一对应地对N个通道中的权重参数及对应待处理数据进行计算;
当出现完成计算的计算任务时,从其对应层之前的缓存队列中获取未计算通道对应地待处理数据,并调用已完成计算的计算任务继续对未计算通道中的权重参数及对应待处理数据进行计算,直至其对应层中的所有通道都已计算。
10.一种图片处理系统,应用于深度学习模型,其特征在于,所述深度学习模型的每一层之前均设置有缓存队列,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述图片处理方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866485.5A CN110659119B (zh) | 2019-09-12 | 2019-09-12 | 一种图片处理方法、装置及系统 |
US17/642,371 US11614964B2 (en) | 2019-09-12 | 2019-12-30 | Deep-learning-based image processing method and system |
PCT/CN2019/130002 WO2021047118A1 (zh) | 2019-09-12 | 2019-12-30 | 一种图片处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910866485.5A CN110659119B (zh) | 2019-09-12 | 2019-09-12 | 一种图片处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659119A true CN110659119A (zh) | 2020-01-07 |
CN110659119B CN110659119B (zh) | 2022-08-02 |
Family
ID=69036987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910866485.5A Active CN110659119B (zh) | 2019-09-12 | 2019-09-12 | 一种图片处理方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11614964B2 (zh) |
CN (1) | CN110659119B (zh) |
WO (1) | WO2021047118A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111738417B (zh) * | 2020-06-19 | 2024-03-08 | 格兰菲智能科技有限公司 | 神经网络计算装置及其快取管理方法 |
CN113312178A (zh) * | 2021-05-24 | 2021-08-27 | 河海大学 | 一种基于深度强化学习的流水线并行训练任务分配方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088739A1 (en) * | 2001-11-02 | 2003-05-08 | John Wilkes | Adaptive data insertion for caching |
US20030115243A1 (en) * | 2001-12-18 | 2003-06-19 | Intel Corporation | Distributed process execution system and method |
US20130167152A1 (en) * | 2011-12-26 | 2013-06-27 | Hyun-ku Jeong | Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method |
CN105893158A (zh) * | 2016-06-08 | 2016-08-24 | 北京工业大学 | 私有云条件下的大数据混合调度模型 |
CN107609641A (zh) * | 2017-08-30 | 2018-01-19 | 清华大学 | 稀疏神经网络架构及其实现方法 |
CN108595379A (zh) * | 2018-05-08 | 2018-09-28 | 济南浪潮高新科技投资发展有限公司 | 一种基于多级缓存的并行化卷积运算方法及系统 |
CN109117285A (zh) * | 2018-07-27 | 2019-01-01 | 高新兴科技集团股份有限公司 | 支持高并发的分布式内存计算集群系统 |
CN109934339A (zh) * | 2019-03-06 | 2019-06-25 | 东南大学 | 一种基于一维脉动阵列的通用卷积神经网络加速器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880449B (zh) | 2012-09-18 | 2014-11-05 | 中国科学院声学研究所 | 一种超长指令字结构下延迟槽调度方法及其系统 |
CN105869117B (zh) * | 2016-03-28 | 2021-04-02 | 上海交通大学 | 一种针对深度学习超分辨率技术的gpu加速方法 |
US10409614B2 (en) | 2017-04-24 | 2019-09-10 | Intel Corporation | Instructions having support for floating point and integer data types in the same register |
CN109102463B (zh) | 2018-08-13 | 2023-01-24 | 苏州飞搜科技有限公司 | 一种超分辨率图像重建方法及装置 |
CN110188596A (zh) | 2019-01-04 | 2019-08-30 | 北京大学 | 基于深度学习的监控视频行人实时检测、属性识别与跟踪方法及系统 |
-
2019
- 2019-09-12 CN CN201910866485.5A patent/CN110659119B/zh active Active
- 2019-12-30 US US17/642,371 patent/US11614964B2/en active Active
- 2019-12-30 WO PCT/CN2019/130002 patent/WO2021047118A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088739A1 (en) * | 2001-11-02 | 2003-05-08 | John Wilkes | Adaptive data insertion for caching |
US20030115243A1 (en) * | 2001-12-18 | 2003-06-19 | Intel Corporation | Distributed process execution system and method |
US20130167152A1 (en) * | 2011-12-26 | 2013-06-27 | Hyun-ku Jeong | Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method |
CN105893158A (zh) * | 2016-06-08 | 2016-08-24 | 北京工业大学 | 私有云条件下的大数据混合调度模型 |
CN107609641A (zh) * | 2017-08-30 | 2018-01-19 | 清华大学 | 稀疏神经网络架构及其实现方法 |
CN108595379A (zh) * | 2018-05-08 | 2018-09-28 | 济南浪潮高新科技投资发展有限公司 | 一种基于多级缓存的并行化卷积运算方法及系统 |
CN109117285A (zh) * | 2018-07-27 | 2019-01-01 | 高新兴科技集团股份有限公司 | 支持高并发的分布式内存计算集群系统 |
CN109934339A (zh) * | 2019-03-06 | 2019-06-25 | 东南大学 | 一种基于一维脉动阵列的通用卷积神经网络加速器 |
Non-Patent Citations (2)
Title |
---|
FENG YAN,YUXIONG HE,OLATUNJI RUWASE,EVGENIA SMIRNI: "Efficient Deep Neural Network Serving: Fast and Furious", 《IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT》 * |
周敬利: "基于J2EE平台集群服务的分布式缓存队列模型", 《计算机工程》 * |
Also Published As
Publication number | Publication date |
---|---|
US11614964B2 (en) | 2023-03-28 |
US20220326989A1 (en) | 2022-10-13 |
CN110659119B (zh) | 2022-08-02 |
WO2021047118A1 (zh) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10909654B2 (en) | Management of graphics processing units in a cloud platform | |
US20200293379A1 (en) | Convolutional computing accelerator, convolutional computing method, and computer-readable storage medium | |
RU2771008C1 (ru) | Способ и устройство для обработки задач на основе нейронной сети | |
KR101468201B1 (ko) | 문서들로부터 토픽들의 병렬 생성 | |
US10922868B2 (en) | Split frame rendering | |
US20130127891A1 (en) | Ordering and Rendering Buffers for Complex Scenes with Cyclic Dependency | |
CN110659119B (zh) | 一种图片处理方法、装置及系统 | |
US20080022288A1 (en) | Signal Processing Appatatus | |
KR20140122835A (ko) | 프로세스 병렬 처리 장치 및 방법 | |
CN110058882B (zh) | 一种用于cnn加速的opu指令集定义方法 | |
US20170168755A1 (en) | Software defined fifo buffer for multithreaded access | |
US11941528B2 (en) | Neural network training in a distributed system | |
CN114463473A (zh) | 图像渲染的处理方法和装置、存储介质及电子设备 | |
JP2020514907A5 (zh) | ||
CN114493980A (zh) | 内核函数传输方法、装置及设备 | |
JP2956201B2 (ja) | 画像信号のタスク分割並列処理方法 | |
CN109426529B (zh) | 基于x窗口系统图形绘制的方法、装置及终端 | |
CN108012191B (zh) | 视频数据处理方法及装置、计算设备、介质 | |
CN116886940B (zh) | 多路视频推理并发预处理加速方法、系统、介质和设备 | |
CN110083357A (zh) | 界面构建方法、装置、服务器及存储介质 | |
US11386518B2 (en) | Exception handler for sampling draw dispatch identifiers | |
CN112308217A (zh) | 一种卷积神经网络加速方法及系统 | |
US20120110302A1 (en) | Accelerating Generic Loop Iterators Using Speculative Execution | |
CN110673876B (zh) | 设置线程池参数的方法、装置、计算机设备和存储介质 | |
CN109410306B (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 |