CN113111995A - 一种缩短模型推理和模型后处理运行时间的方法 - Google Patents
一种缩短模型推理和模型后处理运行时间的方法 Download PDFInfo
- Publication number
- CN113111995A CN113111995A CN202010020706.XA CN202010020706A CN113111995A CN 113111995 A CN113111995 A CN 113111995A CN 202010020706 A CN202010020706 A CN 202010020706A CN 113111995 A CN113111995 A CN 113111995A
- Authority
- CN
- China
- Prior art keywords
- model
- read
- processing
- buffer
- post
- 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.)
- Pending
Links
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
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种缩短模型推理和模型后处理运行时间的方法,所述方法包括以下步骤:S1,在卷积神经网络模型推理之后,设置N个缓存区,其中,N为大于等于2的正整数;S2,所述模型推理处理完一帧后,同时读取N个缓存区的写标志位,如果读到所述写标志位为1,则将数据写入对应的该缓存区中,并将读标志位置为1;S3,数据存入缓存区后,模型后处理部分读取缓存区的读标志位,如果读取到的缓存区读标志位为1,则将处理对应的该缓存区的数据,处理完后将该缓存区的读标志位置为0,写标志位置为1;S4,重复上述步骤S2‑S3,缩短模型推理和模型后处理部分运行时间。
Description
技术领域
本发明涉及卷积神经网络加速技术领域,特别涉及一种缩短模型推理和模型后处理运行时间的方法。
背景技术
近年来,随着科技的飞速发展,大数据时代已经到来。卷积神经网络(CNN)作为一种用于进行图像处理的、包含卷积计算且具有深度结构的前馈神经网络,其被广泛用于图像分类、图像识别等。深度学习以深度神经网络(DNN)作为模型,在许多人工智能的关键领域取得了十分显著的成果,如图像识别、增强学习、语义分析等。卷积神经网络(CNN)作为一种典型的DNN结构,能有效提取出图像的隐层特征,并对图像进行准确分类,在近几年的图像识别和检测领域得到了广泛的应用。
其中,为本领域技术人员熟悉的技术术语包括:
卷积神经网络(Convolutional Neural Networks,CNN):是一类包含卷积计算且具有深度结构的前馈神经网络。
检测模型:根据目标任务定位图像中的目标对象的位置。
推理:在深度学习中,推理是指将一个预先训练好的神经网络模型部署到实际业务场景中,如图像分类、物体检测、在线翻译等。由于推理直接面向用户,因此推理性能至关重要,尤其对于企业级产品而言更是如此。
卷积神经网络推理和模型后处理流水线式运行:对于一帧图像先运行模型推理部分,然后再运行模型后处理部分。
但是,在现有技术中由于模型运行和模型后处理是按顺序运行的,必然会存在一个等待的情况,这对于采用硬件加速后,模型推理和模型后处理时间相当时,会延长处理时间,从而大大降低模型的整体的运行效率。
发明内容
为了解决上述问题,特别是模型推理和模型后处理之间产生的冗余时间的问题,本发明的目的在于:缩短模型推理和模型后处理运行时间,通过并行运行,利用重叠时间,充分提高检测模型的整体效率。
具体地,本发明提供一种缩短模型推理和模型后处理运行时间的方法,所述方法包括以下步骤:
S1,在卷积神经网络模型推理之后,设置N个缓存区,其中,N为大于等于2的正整数;
S2,所述模型推理处理完一帧后,同时读取N个缓存区的写标志位,如果读到所述写标志位为1,则将数据写入对应的该缓存区中,并将读标志位置为1;
S3,数据存入缓存区后,模型后处理部分读取缓存区的读标志位,如果读取到的缓存区读标志位为1,则将处理对应的该缓存区的数据,处理完后将该缓存区的读标志位置为0,写标志位置为1;
S4,重复上述步骤S2-S3,缩短模型推理和模型后处理部分运行时间。
所述步骤S2进一步包括:如果所读取缓存区的写标志位均为0,则等待;如果所读取缓存区的写标志位有一个为1,则将数据写入对应的该缓存区中,并将读标志位置为1。
所述步骤S3中模型后处理部分读取缓存区的读标志位是同时读取。
由此,本申请的优势在于:对于模型推理和模型后处理采用设置多个Buffer缓存的策略,通过利用缓冲区的先后处理数据的时间差,从而让模型推理和模型后处理部分可以同步运行,而减少等待时间,从而缩短了模型推理和模型后处理运行时间。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1是本发明方法的示意流程图。
图2是本发明所应用方法的系统的示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
如图1所示,本发明涉及一种缩短模型推理和模型后处理运行时间的方法,所述方法包括以下步骤:
S1,在卷积神经网络模型推理之后,设置N个缓存区,其中,N为大于等于2的正整数;
S2,所述模型推理处理完一帧后,同时读取N个缓存区的写标志位,如果读到所述写标志位为1,则将数据写入对应的该缓存区中,并将读标志位置为1;
S3,数据存入缓存区后,模型后处理部分读取缓存区的读标志位,如果读取到的缓存区读标志位为1,则将处理对应的该缓存区的数据,处理完后将该缓存区的读标志位置为0,写标志位置为1;
S4,重复上述步骤S2-S3,缩短模型推理和模型后处理部分运行时间。
所述N=2,3,4,5,6,并且分别对应相应个数的缓存区。
优选N=2,分别对应为第一缓存区和第二缓存区。
所述步骤S2进一步包括:如果所读取缓存区的写标志位均为0,则等待;如果所读取缓存区的写标志位有一个为1,则将数据写入对应的该缓存区中,并将读标志位置为1。
所述步骤S3中模型后处理部分读取缓存区的读标志位是同时读取。
所述的步骤S3进一步包括:如果读取到的缓存区的读标志位为0,则该缓存区等待;如果读取到的缓存区的读标志位均为0,则重新读取缓存区的读标志位,直至读取到有缓存区的读标志位为1。
所述的模型推理和模型处理部分可以同步进行,而不需要等待上一级的结果。
所述步骤S1中设置的缓存区是针对模型推理结果数据进行存储。
如图2所示,根据本申请的方法,可以对应以下的系统,对于模型推理结果,设置多个缓存Buffer,优选为2个,模型推理处理完一帧后,会同时读取Buff1和Buff2的写标志位,如果标志位为1则将数据写入相应的Buffer中,并将读标志为置为1。模型后处理部分可以同时读取Buff1和Buff2的读标志位,如果标志位为1则将处理相应Buffer的数据,处理完后将该Buffer的读标志为置为0,写标志为置为1。这样模型推理和模型处理部分就缩短了运行时间,而不需要等待上一级的结果,从而提高系统的整体效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种缩短模型推理和模型后处理运行时间的方法,其特征在于,所述方法包括以下步骤:
S1,在卷积神经网络模型推理之后,设置N个缓存区,其中,N为大于等于2的正整数;
S2,所述模型推理处理完一帧后,同时读取N个缓存区的写标志位,如果读到所述写标志位为1,则将数据写入对应的该缓存区中,并将读标志位置为1;
S3,数据存入缓存区后,模型后处理部分读取缓存区的读标志位,如果读取到的缓存区读标志位为1,则将处理对应的该缓存区的数据,处理完后将该缓存区的读标志位置为0,写标志位置为1;
S4,重复上述步骤S2-S3,缩短模型推理和模型后处理部分运行时间。
2.根据权利要求1所述的一种缩短模型推理和模型后处理运行时间的方法,其特征在于,所述N=2,3,4,5,6,并且分别对应相应个数的缓存区。
3.根据权利要求2所述的一种缩短模型推理和模型后处理运行时间的方法,其特征在于,优选N=2,分别对应为第一缓存区和第二缓存区。
4.根据权利要求2所述的一种缩短模型推理和模型后处理运行时间的方法,其特征在于,所述步骤S2进一步包括:如果所读取缓存区的写标志位均为0,则等待;如果所读取缓存区的写标志位有一个为1,则将数据写入对应的该缓存区中,并将读标志位置为1。
5.根据权利要求1所述的一种缩短模型推理和模型后处理运行时间的方法,其特征在于,所述步骤S3中模型后处理部分读取缓存区的读标志位是同时读取。
6.根据权利要求1所述的一种缩短模型推理和模型后处理运行时间的方法,其特征在于,所述的步骤S3进一步包括:如果读取到的缓存区的读标志位为0,则该缓存区等待;如果读取到的缓存区的读标志位均为0,则重新读取缓存区的读标志位,直至读取到有缓存区的读标志位为1。
7.根据权利要求1所述的一种缩短模型推理和模型后处理运行时间的方法,其特征在于,所述的模型推理和模型处理部分可以同步进行,而不需要等待上一级的结果。
8.根据权利要求1所述的一种缩短模型推理和模型后处理运行时间的方法,其特征在于,所述步骤S1中设置的缓存区是针对模型推理结果数据进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020706.XA CN113111995A (zh) | 2020-01-09 | 2020-01-09 | 一种缩短模型推理和模型后处理运行时间的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020706.XA CN113111995A (zh) | 2020-01-09 | 2020-01-09 | 一种缩短模型推理和模型后处理运行时间的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113111995A true CN113111995A (zh) | 2021-07-13 |
Family
ID=76708671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010020706.XA Pending CN113111995A (zh) | 2020-01-09 | 2020-01-09 | 一种缩短模型推理和模型后处理运行时间的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113111995A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1920780A (zh) * | 2006-08-15 | 2007-02-28 | 杭州华为三康技术有限公司 | 访问临界区的方法和系统 |
CN108920413A (zh) * | 2018-06-28 | 2018-11-30 | 中国人民解放军国防科技大学 | 面向gpdsp的卷积神经网络多核并行计算方法 |
CN109598338A (zh) * | 2018-12-07 | 2019-04-09 | 东南大学 | 一种基于fpga的计算优化的卷积神经网络加速器 |
WO2019127838A1 (zh) * | 2017-12-29 | 2019-07-04 | 国民技术股份有限公司 | 卷积神经网络实现方法及装置、终端、存储介质 |
CN110321997A (zh) * | 2018-03-31 | 2019-10-11 | 北京深鉴智能科技有限公司 | 高并行度计算平台、系统及计算实现方法 |
-
2020
- 2020-01-09 CN CN202010020706.XA patent/CN113111995A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1920780A (zh) * | 2006-08-15 | 2007-02-28 | 杭州华为三康技术有限公司 | 访问临界区的方法和系统 |
WO2019127838A1 (zh) * | 2017-12-29 | 2019-07-04 | 国民技术股份有限公司 | 卷积神经网络实现方法及装置、终端、存储介质 |
CN110321997A (zh) * | 2018-03-31 | 2019-10-11 | 北京深鉴智能科技有限公司 | 高并行度计算平台、系统及计算实现方法 |
CN108920413A (zh) * | 2018-06-28 | 2018-11-30 | 中国人民解放军国防科技大学 | 面向gpdsp的卷积神经网络多核并行计算方法 |
CN109598338A (zh) * | 2018-12-07 | 2019-04-09 | 东南大学 | 一种基于fpga的计算优化的卷积神经网络加速器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008040B (zh) | 缓存装置及缓存方法、计算装置及计算方法 | |
CN111653275B (zh) | 基于lstm-ctc尾部卷积的语音识别模型的构建方法及装置、语音识别方法 | |
CN113344206A (zh) | 融合通道与关系特征学习的知识蒸馏方法、装置及设备 | |
US9208374B2 (en) | Information processing apparatus, control method therefor, and electronic device | |
AU2016277542A1 (en) | Method for training an artificial neural network | |
CN113987179A (zh) | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 | |
CN113826125A (zh) | 使用无监督数据增强来训练机器学习模型 | |
CN111782804B (zh) | 基于TextCNN同分布文本数据选择方法、系统及存储介质 | |
US11410016B2 (en) | Selective performance of deterministic computations for neural networks | |
CN113095471B (zh) | 一种提高检测模型效率的方法 | |
US20200019618A1 (en) | Vectorization of documents | |
CN113111995A (zh) | 一种缩短模型推理和模型后处理运行时间的方法 | |
CN113095503B (zh) | 一种实现检测模型高效的系统 | |
CN113052303A (zh) | 用于控制神经网络电路的数据输入和输出的设备 | |
CN116450839A (zh) | 知识增强预训练语言模型知识注入和训练方法及系统 | |
CN116257601A (zh) | 一种基于深度学习的违法词库构建方法及系统 | |
CN111309982A (zh) | 机器学习数据索引结构的自适应结构调整方法及系统 | |
CN115905363A (zh) | 一种数据的实时排序系统 | |
US20140250034A1 (en) | Method and apparatus for improving resilience in customized program learning network computational environments | |
CN115485694A (zh) | 机器学习算法搜索 | |
CN113887363A (zh) | 基于序列识别的视频异常事件检测方法 | |
CN113051909B (zh) | 一种基于深度学习的文本语义提取方法 | |
US20240177464A1 (en) | Active learning device and active learning method | |
US20230316082A1 (en) | Deterministic training of machine learning models | |
CN117671246A (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 |