CN113111995A - 一种缩短模型推理和模型后处理运行时间的方法 - Google Patents

一种缩短模型推理和模型后处理运行时间的方法 Download PDF

Info

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
Application number
CN202010020706.XA
Other languages
English (en)
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.)
Beijing Ingenic Semiconductor Co Ltd
Original Assignee
Beijing Ingenic Semiconductor Co 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 Beijing Ingenic Semiconductor Co Ltd filed Critical Beijing Ingenic Semiconductor Co Ltd
Priority to CN202010020706.XA priority Critical patent/CN113111995A/zh
Publication of CN113111995A publication Critical patent/CN113111995A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference 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中设置的缓存区是针对模型推理结果数据进行存储。
CN202010020706.XA 2020-01-09 2020-01-09 一种缩短模型推理和模型后处理运行时间的方法 Pending CN113111995A (zh)

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)

* Cited by examiner, † Cited by third party
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 北京深鉴智能科技有限公司 高并行度计算平台、系统及计算实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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