CN111090673A - 缓存单元的查找方法及相关设备 - Google Patents

缓存单元的查找方法及相关设备 Download PDF

Info

Publication number
CN111090673A
CN111090673A CN201911324104.7A CN201911324104A CN111090673A CN 111090673 A CN111090673 A CN 111090673A CN 201911324104 A CN201911324104 A CN 201911324104A CN 111090673 A CN111090673 A CN 111090673A
Authority
CN
China
Prior art keywords
target
layer
key
dictionary
cache 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
CN201911324104.7A
Other languages
English (en)
Other versions
CN111090673B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201911324104.7A priority Critical patent/CN111090673B/zh
Publication of CN111090673A publication Critical patent/CN111090673A/zh
Application granted granted Critical
Publication of CN111090673B publication Critical patent/CN111090673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24562Pointer or reference processing operations
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Neurology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了缓存单元的查找方法及相关设备,涉及计算机技术领域中的人工智能技术。具体实现方案为:在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典;在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元,从而可以提升电子设备查找上述缓存单元的效率,进而提升电子设备在缓存单元的查找过程中的响应速度。

Description

缓存单元的查找方法及相关设备
技术领域
本申请涉及计算机技术领域中的人工智能技术,尤其涉及一种缓存单元的查找方法及相关设备。
背景技术
现有技术中,在定长输入下,若深度神经网络有M个缓存单元,则M个缓存单元的整体查找时间复杂度为O(MlogM)。而在变长输入下,由于网络形状的不断变化导致每层的输入形状也在不断变化,变长输入下的缓存单元个数是定长输入下的N倍(N是不同输入形状的数量),即MN个。那么这MN个缓存单元的整体查找时间复杂度为O(MNlog(MN)),故变长输入下的缓存单元查找时间复杂度至少是定长输入下的N倍,且不同输入形状的数量越多即N越大,在变长输入下查找缓存单元的时间复杂度增大越多,进而导致查找效率较低。可见,目前在变长输入下查找缓存单元存在查找效率较低的问题。
发明内容
本申请实施例提供一种缓存单元的查找方法及相关设备,以解决目前在变长输入下查找缓存单元存在查找效率较低的问题。
为解决上述技术问题,本申请是这样实现的:
本申请第一方面提供一种缓存单元的查找方法,包括:
在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典;
在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元。
可选的,所述第一层字典包括至少两个第一键值对,且所述第一键值对的键用于指示网络形状的名字,所述第一键值对的值用于指示一个第二层字典;
所述在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典,包括:
生成所述输入数据的网络形状的第一名字;
在所述至少两个第一键值对中,查找是否存在目标第一键值对,其中,所述目标第一键值对的键所指示的名字与所述第一名字匹配;
若确定存在所述目标第一键值对,则确定存在与所述输入数据的网络形状关联的目标第二层字典,其中,所述目标第二层字典为所述目标第一键值对的值所指示的第二层字典;
若确定不存在所述目标第一键值对,则确定不存在所述目标第二层字典。
可选的,所述目标第二层字典包括至少一个第二键值对,且所述第二键值对的键用于指示深度神经网络的层的名字,所述第二键值对的值用于指示一个缓存单元;
所述基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,包括:
在所述至少一个第二键值对中查找目标第二键值对,其中,所述目标第二键值对的键所指示的名字与所述目标层的第二名字匹配;
确定所述目标第二键值对的值所指示的缓存单元为目标缓存单元。
可选的,所述方法还包括:
在所述第一层字典所指示的第二层字典中不存在所述目标第二层字典的情况下,生成与所述输入数据的网络形状关联的初始化第二层字典,并将所述初始化第二层字典添加至所述至少两个第二层字典中;
获取所述深度神经网络的每一层的缓存单元,并将所有层的缓存单元作为所述初始化第二层字典所指示的缓存单元。
本申请第二方面提供一种缓存单元的查找装置,包括:
第一查找模块,用于在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典;
第二查找模块,在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元。
可选的,所述第一层字典包括至少两个第一键值对,且所述第一键值对的键用于指示网络形状的名字,所述第一键值对的值用于指示一个第二层字典;
所述在第一查找模块,包括:
第一名字生成单元,用于生成所述输入数据的网络形状的第一名字;
第一查找单元,用于在所述至少两个第一键值对中,查找是否存在目标第一键值对,其中,所述目标第一键值对的键所指示的名字与所述第一名字匹配;
第一确定单元,用于若确定存在所述目标第一键值对,则确定存在与所述输入数据的网络形状关联的目标第二层字典,其中,所述目标第二层字典为所述目标第一键值对的值所指示的第二层字典;
第二确定单元,用于若确定不存在所述目标第一键值对,则确定不存在所述目标第二层字典。
可选的,所述目标第二层字典包括至少一个第二键值对,且所述第二键值对的键用于指示深度神经网络的层的名字,所述第二键值对的值用于指示一个缓存单元;
所述第二查找模块,包括:
第二查找单元,用于在所述至少一个第二键值对中查找目标第二键值对,其中,所述目标第二键值对的键所指示的名字与所述目标层的第二名字匹配;
第三确定单元,用于确定所述目标第二键值对的值所指示的缓存单元为目标缓存单元。
可选的,所述装置还包括:
初始化模块,用于在所述第一层字典所指示的第二层字典中不存在所述目标第二层字典的情况下,生成与所述输入数据的网络形状关联的初始化第二层字典,并将所述初始化第二层字典添加至所述至少两个第二层字典中;
缓存单元获取模块,用于获取所述深度神经网络的每一层的缓存单元,并将所有层的缓存单元作为所述初始化第二层字典所指示的缓存单元。
本申请第三方面提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的方法。
本申请第四方面提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述第一方面所述的方法。
上述申请中的一个实施例具有如下优点或有益效果:在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典;在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元。因为采用两层字典结构(即第一层字典和第二层字典)查找缓存单元的技术手段,所以克服了在变长输入下查找缓存单元存在查找效率较低的技术问题,进而达到有效降低变长输入下查找缓存单元的时间复杂度,提升查找效率的技术效果。
另外,第一层字典通过键值对的方式分别指示第二层字典以及与第二层字典对应的网络形状的名字,从而可以提升电子设备查找上述目标第二层字典的效率,进而提升电子设备在缓存单元的查找过程中的响应速度。
第二层字典通过键值对的方式分别指示网络的层的名字以及与网络的层的名字对应的缓存单元,从而可以提升电子设备查找上述缓存单元的效率,进而提升电子设备在缓存单元的查找过程中的响应速度。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的示意图之一;
图2是根据本申请第一实施例的示意图之二;
图3是根据本申请第二实施例的示意图之一;
图4是根据本申请第二实施例的示意图之二;
图5是根据本申请第二实施例的示意图之三;
图6是根据本申请第二实施例的示意图之四;
图7是用来实现本申请实施例的缓存单元的查找方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
请参见图1,本申请实施例提供的一种缓存单元的查找方法,如图1所示,所述缓存单元的查找方法包括如下步骤:
步骤101、在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典。
本实施例中,在深度神经网络的训练或者预测过程中,由于变长输入下深度神经网络的输入数据的网络形状会发生变化(例如,输入图像的图像尺寸变化或者输入文本的文本长度变化等),故用于训练或者预测的电子设备在获取到输入数据时,可以基于第一层字典确定是否存在与输入数据的网络形状关联的目标第二层字典。
另外,上述在第一层字典所指示的至少两个第二层字典中,确定是否存在与输入数据的网络形状关联的目标第二层字典,可以是电子设备中预先设定有各第二层字典与网络形状的对应关系,且不同的第二层字典对应不同的网络形状,电子设备在获取到输入数据时,可以在第一层字典所指示的至少两个第二层字典中查找与输入数据的网络形状对应的第二层字典,若可以查找到与输入数据的网络形状对应的第二层字典,则确定存在与输入数据的网络形状关联的目标第二层字典;反之,则确定不存在与输入数据的网络形状关联的目标第二层字典。
需要说明的是,上述第一层字典可以是预设于电子设备中,且用于指示至少两个第二层字典以及各第二层字典与网络形状的对应关系的字典结构,例如,可以是第一层字典为映射表形式,该映射表包括第二层字典的信息、网络形状的信息以及各第二层字典的信息与各网络形状的信息的映射关系,等等。
在一些实施方式中,所述第一层字典包括至少两个第一键值对,且所述第一键值对的键用于指示网络形状的名字,所述第一键值对的值用于指示一个第二层字典;
所述在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典,包括:
生成所述输入数据的网络形状的第一名字;
在所述至少两个第一键值对中,查找是否存在目标第一键值对,其中,所述目标第一键值对的键所指示的名字与所述第一名字匹配;
若确定存在所述目标第一键值对,则确定存在与所述输入数据的网络形状关联的目标第二层字典,其中,所述目标第二层字典为所述目标第一键值对的值所指示的第二层字典;
若确定不存在所述目标第一键值对,则确定不存在所述目标第二层字典。
这里,第一层字典通过键值对的方式分别指示第二层字典以及与第二层字典对应的网络形状的名字,从而可以提升电子设备查找上述目标第二层字典的效率,进而提升电子设备在缓存单元的查找过程中的响应速度。
本实施方式中,上述第一键值对的键用于指示网络形状的名字且值用于指示一个第二层字典,可以是将网络形状的名字作第一键值对的键,且第二层字典的地址指针作为第一键值对的值;另外,上述网络第一名字可以是通过输入数据的形状特征生成。
步骤102、在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元。
这里,通过第一层字典和第二层字典查找缓存单元,可以有效提升在变长输入下查找缓存单元存在查找效率,例如,在变长输入下的缓存单元个数是定长输入下的N倍的情况下,变长输入下查找缓存单元的整体耗费时长为O(NlogN+MNlogM),相比于现有的耗费时长O(MNlog(MN)),耗费时长的减少量至少为O(MNlogN),减少比例至少为O(logN/(logM+logN)),而且,由减少量和减少比例可知,输入数据的网络形状N越多,减少量和减少比例越大,其中,减少量的计算公式如式(1),减少比例的计算公式如式(2):
O(MNlog(MN))-O(NlogN+MNlogM)=O(MNlogN)+O(MNlogM)-O(MNlogM)-O(NlogN)=O(NMlogN)-O(NlogN)=O((M-1)NlogN)≥O(MNlogN) (1);
O(MNlogN)/O(MNlog(MN))=O(logN/log(MN))
=O(logN/(logM+logN)) (2)。
本实施例中,在电子设备确定第一层字典所指示的至少两个第二层字典中存在上述目标第二层字典的情况下,电子设备可以基于目标第二层字典,查找与目标层关联的目标缓存单元。
其中,上述第二层字典可以是预设于电子设备中,且用于指示至少一个缓存单元以及各缓存单元与深度神经网络的层的对应关系的字典结构,例如,可以是第二层字典可以为映射表形式,该映射表包括缓存单元的信息、深度神经网络的层的信息以及各缓存单元的信息与各层的信息的映射关系,等等。
在一些实施方式中,所述目标第二层字典包括至少一个第二键值对,且所述第二键值对的键用于指示深度神经网络的层的名字,所述第二键值对的值用于指示一个缓存单元;
所述基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,包括:
在所述至少一个第二键值对中查找目标第二键值对,其中,所述目标第二键值对的键所指示的名字与所述目标层的第二名字匹配;
确定所述目标第二键值对的值所指示的缓存单元为目标缓存单元。
这里,第二层字典通过键值对的方式分别指示缓存单元以及与缓存单元对应的层的名字,从而可以提升电子设备查找上述目标缓存单元的效率,进而提升电子设备在缓存单元的查找过程中的响应速度。
本实施方式中,上述第二键值对的键用于指示深度神经网络的层的名字且值用于缓存单元,可以是将层的名字作第二键值对的键,且缓存单元的地址指针作为第二键值对的值。
另外,深度神经网络的层通常包括卷积层、池化层和全连接层等,即上述目标层可以是卷积层、池化层和全连接层等中的任一层。
需要说明的是,上述缓存单元可以用于上述深度神经网络的各层的计算,且该缓存单元为基元、内存描述符和基元描述的集合,具体地,该缓存单元可以为用于深度神经网络的Intel数学核心函数库(MKLDNN)缓存单元。另外,由于上述缓存单元的基元是根据深度神经网络的层类型分成不同类型,那么,对于用于不同层计算的缓存单元会存在差异,即在一个深度神经网络中,只有具有相同层特征的基元的、内存描述符和基元描述符才能被缓存命中。
本实施例中,上述基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,可以是电子设备在目标第二层字典指示的至少一个缓存单元中,查找是否存在与目标层关联的目标缓存单元,若确定存在与目标层关联的目标缓存单元,则在将目标缓存单元添加至深度神经网络,以通过目标缓存单元进行目标层的计算。
当然,在上述目标第二层字典所指示的至少一个缓存单元中,不存在与目标层关联的目标缓存单元的情况下,电子设备也可以构建与目标层关联的缓存单元,并将构建的缓存单元插入至目标第二层字典中,即目标第二层字典新增指示目标层的信息、目标层的缓存单元的信息以及目标层的信息与目标层的缓存单元的信息的关系。
具体地,上述构建目标层的缓存单元,可以包括:利用面向目标层数据格式的任一通配符,创建面向目标层数据的内存描述符;通过指定算法和输入形状等层特征,创建目标层的层描述符;基于目标层的层描述符,创建目标层的基元描述符;创建目标层的层基元。
另外,由于上述第一层字典所指示的至少两个第二层字典中可能不存在上述目标第二层字典,那么,在上述步骤101之后,上述方法还可以包括:在所述第一层字典所指示的第二层字典中不存在所述目标第二层字典的情况下,生成与所述输入数据的网络形状关联的初始化第二层字典,并将所述初始化第二层字典添加至所述至少两个第二层字典中;获取所述深度神经网络的每一层的缓存单元,并将所有层的缓存单元作为所述初始化第二层字典所指示的缓存单元,从而可以在未查找到与输入数据的网络形状关联的第二层字典的情况下,快速在第一层字典中插入与输入数据的网络形状关联的第二层字典,以便于后续在输入与该输入数据的网络形状相同的其他输入数据的情况下,可以调用新创建的第二层字典指示的缓存单元。
为便于对本申请提供的缓存单元的查找方法的理解,如图2所示,本实施例提供上述缓存单元的查找方法在实际应用中的流程图,具体处理过程如下:
步骤201、获取深度神经网络的输入数据。
步骤202、通过输入数据的形状特征,生成输入数据的唯一名字(即第一名字)。
步骤203、在第一层字典中,查找是否存在第一名字的键,若不存在(即第一层字典所指示的第二层字典中不存在目标第二层字典),则执行步骤204;若存在(即第一层字典所指示的第二层字典中存在所述目标第二层字典),则执行步骤205。
其中,第一层字典的键为网络形状的名字,值为第二层字典的地址指针。
步骤204、初始化第二层字典,并将初始化的第二层字典插入第一层字典中,并继续执行步骤205。
这里,可以是在第二层字典中创建新的键值对,且新的键值对的键为第一名字,值为初始化的第二层字典的地址指针。
步骤205、取出第二层字典的地址指针。
这里,在查找到第一层字典存在第一名字的键的情况下,取出的第二层字典的地址指针为第一名字的键对应的值中的地址指针(即该地址指针所指示的第二层字典为上述目标第二层字典);而在查找到第一层字典不存在第一名字的键的情况下,取出的第二层字典的地址指针为上述步骤204中新插入至第一层字典中的第二层字典的地址指针。
步骤206、进入深度神经网络的下一层(即目标层)。
步骤207、通过指定算法、输入形状等特征,生成该层的唯一名字(即第二名字);
步骤208、在(步骤205取出的地址指针指示的)第二层字典中,查找是否存在第二名字的键,若不存在,则执行步骤209;若存在,则执行步骤211。
其中,第二层字典的键为深度神经网络的层的名字,值为缓存单元的地址指针。
步骤209、获取该层关联的缓存单元,具体包括:1、利用面向该层数据格式的任意通配符,创建面向该层数据的内存描述符;2、通过指定算法、输入形状等层特征,创建一个该层描述符;3、基于该层描述符,创建一个该层基元描述符;4、创建该层基元;其中,该层关联的缓存单元包括创建的基元、内存描述符和基元描述符。
步骤210、将获取到的缓存单元插入第二层字典(即上述取出的地址指针指示的第二层字典)中,并继续执行步骤211。
这里,可以是在该第二层字典中创建新的键值对,且新的键值对的键为第二名字,值为获取的缓存单元的地址指针。
步骤211、返回该层缓存单元的地址,以使用返回的地址指示的缓存单元进行该层的计算。
步骤212、判断该层是否为深度神经网络的最后一层,若是,则完成本次输入数据的处理(即预测或者训练);反之,则继续执行步骤206。
需要说明的是,若上述步骤205取出的地址指针为步骤204初始化的第二层字典的地址指针,则在进入深度神经网络的每一层的情况下,电子设备在步骤208中不能查找到存在第二名字的键,即进入深度神经网络的每一层均会通过步骤209获取该层的缓存单元,且在完成进入深度神经网络的所有层时,可以获取到所有层的缓存单元,并将通过所有层的缓存单元对初始化的第二层字典进行更新。
本申请实施例中,通过在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典;在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元,从而可以提升电子设备查找上述缓存单元的效率,进而提升电子设备在缓存单元的查找过程中的响应速度。
请参见图3,本申请实施例提供一种缓存单元的查找装置,如图3所示,缓存单元的查找装置300包括:
第一查找模块301,用于在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典;
第二查找模块302,在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元。
可选的,所述第一层字典包括至少两个第一键值对,且所述第一键值对的键用于指示网络形状的名字,所述第一键值对的值用于指示一个第二层字典;
如图4所示,所述在第一查找模块301,包括:
第一名字生成单元3011,用于生成所述输入数据的网络形状的第一名字;
第一查找单元3012,用于在所述至少两个第一键值对中,查找是否存在目标第一键值对,其中,所述目标第一键值对的键所指示的名字与所述第一名字匹配;
第一确定单元3013,用于若确定存在所述目标第一键值对,则确定存在与所述输入数据的网络形状关联的目标第二层字典,其中,所述目标第二层字典为所述目标第一键值对的值所指示的第二层字典;
第二确定单元3014,用于若确定不存在所述目标第一键值对,则确定不存在所述目标第二层字典。
可选的,所述目标第二层字典包括至少一个第二键值对,且所述第二键值对的键用于指示深度神经网络的层的名字,所述第二键值对的值用于指示一个缓存单元;
如图5所示,所述第二查找模块302,包括:
第二查找单元3021,用于在所述至少一个第二键值对中查找目标第二键值对,其中,所述目标第二键值对的键所指示的名字与所述目标层的第二名字匹配;
第三确定单元3022,用于确定所述目标第二键值对的值所指示的缓存单元为目标缓存单元。
可选的,如图6所示,所述装置300还包括:
初始化模块303,用于在所述第一层字典所指示的第二层字典中不存在所述目标第二层字典的情况下,生成与所述输入数据的网络形状关联的初始化第二层字典,并将所述初始化第二层字典添加至所述至少两个第二层字典中;
缓存单元获取模块304,用于获取所述深度神经网络的每一层的缓存单元,并将所有层的缓存单元作为所述初始化第二层字典所指示的缓存单元。
需要说明的是,缓存单元的查找装置300能够实现本发明图1和图2方法实施例中电子设备实现的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的缓存单元的查找方法(如图1所示的缓存单元的查找方法)的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为电子设备阵列、一组刀片式电子设备、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的缓存单元的查找方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的缓存单元的查找方法(如图1和图2所示的缓存单元的查找方法)。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的缓存单元的查找方法对应的程序指令/模块(例如,附图3所示的第一查找模块301和第二查找模块302)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述图1和图2所示的方法实施例中的缓存单元的查找方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据程序处理的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至程序处理的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
缓存单元的查找方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与程序处理的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据电子设备)、或者包括中间件部件的计算系统(例如,应用电子设备)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和电子设备。客户端和电子设备一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-电子设备关系的计算机程序来产生客户端和电子设备的关系。
根据本申请实施例的技术方案,在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典;在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元。这样,通过采用两层字典结构(即第一层字典和第二层字典)查找缓存单元,可以有效降低变长输入下查找缓存单元的时间复杂度,提升查找效率。
另外,第一层字典通过键值对的方式分别指示第二层字典以及与第二层字典对应的网络形状的名字,从而可以提升电子设备查找上述目标第二层字典的效率,进而提升电子设备在缓存单元的查找过程中的响应速度。
第二层字典通过键值对的方式分别指示网络的层的名字以及与网络的层的名字对应的缓存单元,从而可以提升电子设备查找上述缓存单元的效率,进而提升电子设备在缓存单元的查找过程中的响应速度。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (10)

1.一种缓存单元的查找方法,其特征在于,包括:
在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典;
在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元。
2.根据权利要求1所述的方法,其特征在于,所述第一层字典包括至少两个第一键值对,且所述第一键值对的键用于指示网络形状的名字,所述第一键值对的值用于指示一个第二层字典;
所述在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典,包括:
生成所述输入数据的网络形状的第一名字;
在所述至少两个第一键值对中,查找是否存在目标第一键值对,其中,所述目标第一键值对的键所指示的名字与所述第一名字匹配;
若确定存在所述目标第一键值对,则确定存在与所述输入数据的网络形状关联的目标第二层字典,其中,所述目标第二层字典为所述目标第一键值对的值所指示的第二层字典;
若确定不存在所述目标第一键值对,则确定不存在所述目标第二层字典。
3.根据权利要求1所述的方法,其特征在于,所述目标第二层字典包括至少一个第二键值对,且所述第二键值对的键用于指示深度神经网络的层的名字,所述第二键值对的值用于指示一个缓存单元;
所述基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,包括:
在所述至少一个第二键值对中查找目标第二键值对,其中,所述目标第二键值对的键所指示的名字与所述目标层的第二名字匹配;
确定所述目标第二键值对的值所指示的缓存单元为目标缓存单元。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述查找是否存在与所述输入数据的网络形状关联的目标第二层字典之后,还包括:
在所述第一层字典所指示的第二层字典中不存在所述目标第二层字典的情况下,生成与所述输入数据的网络形状关联的初始化第二层字典,并将所述初始化第二层字典添加至所述至少两个第二层字典中;
获取所述深度神经网络的每一层的缓存单元,并将所有层的缓存单元作为所述初始化第二层字典所指示的缓存单元。
5.一种缓存单元的查找装置,其特征在于,包括:
第一查找模块,用于在获取到深度神经网络的输入数据的情况下,在第一层字典所指示的至少两个第二层字典中,查找是否存在与所述输入数据的网络形状关联的目标第二层字典;
第二查找模块,在进入所述深度神经网络的目标层,且确定存在所述目标第二层字典的情况下,基于所述目标第二层字典,查找与所述目标层关联的目标缓存单元,其中,所述目标第二层字典用于指示包括所述目标缓存单元的至少一个缓存单元。
6.根据权利要求5所述的装置,其特征在于,所述第一层字典包括至少两个第一键值对,且所述第一键值对的键用于指示网络形状的名字,所述第一键值对的值用于指示一个第二层字典;
所述在第一查找模块,包括:
第一名字生成单元,用于生成所述输入数据的网络形状的第一名字;
第一查找单元,用于在所述至少两个第一键值对中,查找是否存在目标第一键值对,其中,所述目标第一键值对的键所指示的名字与所述第一名字匹配;
第一确定单元,用于若确定存在所述目标第一键值对,则确定存在与所述输入数据的网络形状关联的目标第二层字典,其中,所述目标第二层字典为所述目标第一键值对的值所指示的第二层字典;
第二确定单元,用于若确定不存在所述目标第一键值对,则确定不存在所述目标第二层字典。
7.根据权利要求5所述的装置,其特征在于,所述目标第二层字典包括至少一个第二键值对,且所述第二键值对的键用于指示深度神经网络的层的名字,所述第二键值对的值用于指示一个缓存单元;
所述第二查找模块,包括:
第二查找单元,用于在所述至少一个第二键值对中查找目标第二键值对,其中,所述目标第二键值对的键所指示的名字与所述目标层的第二名字匹配;
第三确定单元,用于确定所述目标第二键值对的值所指示的缓存单元为目标缓存单元。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述装置还包括:
初始化模块,用于在所述第一层字典所指示的第二层字典中不存在所述目标第二层字典的情况下,生成与所述输入数据的网络形状关联的初始化第二层字典,并将所述初始化第二层字典添加至所述至少两个第二层字典中;
缓存单元获取模块,用于获取所述深度神经网络的每一层的缓存单元,并将所有层的缓存单元作为所述初始化第二层字典所指示的缓存单元。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-4中任一项所述的方法。
CN201911324104.7A 2019-12-20 2019-12-20 缓存单元的查找方法及相关设备 Active CN111090673B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911324104.7A CN111090673B (zh) 2019-12-20 2019-12-20 缓存单元的查找方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911324104.7A CN111090673B (zh) 2019-12-20 2019-12-20 缓存单元的查找方法及相关设备

Publications (2)

Publication Number Publication Date
CN111090673A true CN111090673A (zh) 2020-05-01
CN111090673B CN111090673B (zh) 2023-04-18

Family

ID=70395133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911324104.7A Active CN111090673B (zh) 2019-12-20 2019-12-20 缓存单元的查找方法及相关设备

Country Status (1)

Country Link
CN (1) CN111090673B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080031040A1 (en) * 2006-08-04 2008-02-07 Chiaming Chai Method and Apparatus for Aborting Content Addressable Memory Search Operations
US20170255859A1 (en) * 2016-03-05 2017-09-07 Fujitsu Limited Neural network analysis
CN107273509A (zh) * 2017-06-20 2017-10-20 哈尔滨理工大学 一种神经网络数据存储器、数据存储方法及数据查找方法
CN109284820A (zh) * 2018-10-26 2019-01-29 北京图森未来科技有限公司 一种深度神经网络的结构搜索方法及装置
US20190147323A1 (en) * 2017-11-03 2019-05-16 Imagination Technologies Limited Activation Functions for Deep Neural Networks
GB201911502D0 (en) * 2018-10-12 2019-09-25 Adobe Inc Space-time memory network for locating target object in video content

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080031040A1 (en) * 2006-08-04 2008-02-07 Chiaming Chai Method and Apparatus for Aborting Content Addressable Memory Search Operations
US20170255859A1 (en) * 2016-03-05 2017-09-07 Fujitsu Limited Neural network analysis
CN107273509A (zh) * 2017-06-20 2017-10-20 哈尔滨理工大学 一种神经网络数据存储器、数据存储方法及数据查找方法
US20190147323A1 (en) * 2017-11-03 2019-05-16 Imagination Technologies Limited Activation Functions for Deep Neural Networks
GB201911502D0 (en) * 2018-10-12 2019-09-25 Adobe Inc Space-time memory network for locating target object in video content
CN109284820A (zh) * 2018-10-26 2019-01-29 北京图森未来科技有限公司 一种深度神经网络的结构搜索方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
于海: "基于卷积神经网络的非结构化文本敏感信息检测系统的设计与实现" *
潘恬;黄韬;张雪贝;: "基于局部性原理跳表的内容路由器缓存快速查找机制" *

Also Published As

Publication number Publication date
CN111090673B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN111242306B (zh) 量子主成分分析的方法、装置、电子设备以及计算机可读存储介质
JP7395445B2 (ja) 検索データに基づくヒューマンコンピュータ対話型インタラクションの方法、装置及び電子機器
CN111079945B (zh) 端到端模型的训练方法及装置
CN111737954B (zh) 文本相似度确定方法、装置、设备和介质
CN111488740B (zh) 一种因果关系的判别方法、装置、电子设备及存储介质
CN111709252B (zh) 基于预训练的语义模型的模型改进方法及装置
CN111241810B (zh) 标点预测方法及装置
CN113553414B (zh) 智能对话方法、装置、电子设备和存储介质
JP7300475B2 (ja) エンティティ関係マイニング方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
CN112380847B (zh) 兴趣点处理方法、装置、电子设备及存储介质
CN110717340B (zh) 推荐方法、装置、电子设备及存储介质
CN111539224B (zh) 语义理解模型的剪枝方法、装置、电子设备和存储介质
CN112466280B (zh) 语音交互方法、装置、电子设备和可读存储介质
CN111931509A (zh) 实体链指方法、装置、电子设备及存储介质
CN112329453B (zh) 样本章节的生成方法、装置、设备以及存储介质
CN112560499B (zh) 语义表示模型的预训练方法、装置、电子设备及存储介质
CN111652354B (zh) 用于训练超网络的方法、装置、设备以及存储介质
CN111738325B (zh) 图像识别方法、装置、设备以及存储介质
CN111428489B (zh) 一种评论生成方法、装置、电子设备及存储介质
CN111488972B (zh) 数据迁移方法、装置、电子设备和存储介质
CN112232089A (zh) 语义表示模型的预训练方法、设备和存储介质
CN111177479A (zh) 获取关系网络图中节点的特征向量的方法以及装置
CN111090673B (zh) 缓存单元的查找方法及相关设备
CN111539225B (zh) 语义理解框架结构的搜索方法和装置
JP7216133B2 (ja) 対話生成方法、装置、電子機器及び記憶媒体

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