CN111522837B - 用于确定深度神经网络的耗时的方法和装置 - Google Patents
用于确定深度神经网络的耗时的方法和装置 Download PDFInfo
- Publication number
- CN111522837B CN111522837B CN202010325700.3A CN202010325700A CN111522837B CN 111522837 B CN111522837 B CN 111522837B CN 202010325700 A CN202010325700 A CN 202010325700A CN 111522837 B CN111522837 B CN 111522837B
- Authority
- CN
- China
- Prior art keywords
- operation time
- time consumption
- processing layer
- formulas
- consuming
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了用于确定深度神经网络的耗时的方法和装置,涉及计算机视觉技术领域。具体实施方式包括:确定待处理深度神经网络包括的处理层,以及获取所确定的处理层的参数的值;在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时,其中,该运算耗时数据集中包括对应存储的值与参数为该值的处理层的运算耗时;基于各个所确定的处理层的运算耗时,确定该待处理深度神经网络的运算耗时。本申请可以避免确定深度神经网络的运算耗时需要进行的实时网络运算步骤,直接利用预设的运算耗时数据集,快速、准确地查找出待处理深度神经网络的运算耗时。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及计算机视觉技术领域,尤其涉及用于确定深度神经网络的耗时的方法和装置。
背景技术
随着深度学习技术的发展,该技术逐渐应用于越来越多的场景中,并且起到了举足轻重的作用。例如行人检测、无人驾驶、智慧零售等场景,都依赖于深度学习来完成特定任务。目前产业结合深度学习已是大势所趋,一方面能够提升效果,另一方面能够降低人工成本。
每种进行深度学习的神经网络都有相应的耗时,为了能够在应用中对深度神经网络进行更好的控制,可以对深度神经网络的耗时进行测算。
发明内容
提供了一种用于确定深度神经网络的耗时的方法、装置、电子设备以及存储介质。
根据第一方面,提供了一种用于确定深度神经网络的耗时的方法,包括:确定待处理深度神经网络包括的处理层,以及获取所确定的处理层的参数的值;在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时,其中,运算耗时数据集中包括对应存储的值与参数为该值的处理层的运算耗时;基于各个所确定的处理层的运算耗时,确定待处理深度神经网络的运算耗时。
根据第二方面,提供了一种用于确定深度神经网络的耗时的装置,包括:获取单元,被配置成确定待处理深度神经网络包括的处理层,以及获取所确定的处理层的参数的值;查找单元,被配置成在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时,其中,运算耗时数据集中包括对应存储的值与参数为该值的处理层的运算耗时;确定单元,被配置成基于各个所确定的处理层的运算耗时,确定待处理深度神经网络的运算耗时。
根据第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如用于确定深度神经网络的耗时的方法中任一实施例的方法。
根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如用于确定深度神经网络的耗时的方法中任一实施例的方法。
根据本申请的方案,本申请的上述实施例提供的方法可以避免确定深度神经网络的运算耗时需要进行的实时网络运算步骤,直接利用预设的运算耗时数据集,快速、准确地查找出待处理深度神经网络的运算耗时。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请一些实施例可以应用于其中的示例性系统架构图;
图2a是根据本申请的用于确定深度神经网络的耗时的方法的一个实施例的流程图;
图2b是根据本申请的用于确定深度神经网络的耗时的方法中运算耗时数据集中卷积层的相关数据的示意图;
图3是根据本申请的用于确定深度神经网络的耗时的方法的一个应用场景的示意图;
图4是根据本申请的用于确定深度神经网络的耗时的方法中确定运算耗时数据集的一个实施例的流程图;
图5是根据本申请的用于确定深度神经网络的耗时的装置的一个实施例的结构示意图;
图6是用来实现本申请实施例的用于确定深度神经网络的耗时的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于确定深度神经网络的耗时的方法或用于确定深度神经网络的耗时的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如视频类应用、直播应用、即时通信工具、邮箱客户端、社交平台软件等。
这里的终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103提供支持的后台服务器。后台服务器可以对接收到的待处理的深度神经网络等数据进行分析等处理,并将处理结果(例如该深度神经网络的运算耗时)反馈给终端设备。
需要说明的是,本申请实施例所提供的用于确定深度神经网络的耗时的方法可以由服务器105或者终端设备101、102、103执行,相应地,用于确定深度神经网络的耗时的装置可以设置于服务器105或者终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2a,示出了根据本申请的用于确定深度神经网络的耗时的方法的一个实施例的流程200。该用于确定深度神经网络的耗时的方法,包括以下步骤:
步骤201,确定待处理深度神经网络包括的处理层,以及获取所确定的处理层的参数的值。
在本实施例中,用于确定深度神经网络的耗时的方法运行于其上的执行主体(例如图1所示的服务器或终端设备)可以确定出待处理的深度神经网络所包括的各个处理层,并获取这些处理层中每个处理层的参数的值。具体地,待处理深度神经网络可以是各种各样的,比如,卷积神经网络、残差神经网络等等。
处理层可以是深度神经网络中的各种处理单元,比如卷积层、激活层等等。处理层的参数的值是可以变动的,比如卷积的步长的值。
步骤202,在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时,其中,运算耗时数据集中包括对应存储的值与参数为该值的处理层的运算耗时。
在本实施例中,上述执行主体可以在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,并将查找到的运算耗时作为所确定的处理层的运算耗时。值与参数为该值的处理层的运算耗时在运算耗时数据集中是对应存储的,也即,该值与该运算耗时是存在对应关系的。因而,只要确定出参数的值,就可以得到参数为该值的处理层的运算耗时。这里的运算耗时数据集中的值与运算耗时的对应关系可以以表格(比如哈希数据表Hash Map)或者字典等形式表现。如图2b所示,图中示出了以键值对(Key-Value)表格的形式存储的运算耗时数据集中卷积层的相关数据。
具体地,运算耗时数据集中包括的值可以是处理层中各个参数的值。比如,全连接层中的两个参数:输入维度和输出维度,分别指全连接层的运算(线性运算)过程的输入数据的维度,以及全连接层的运算过程的输出数据的维度。
步骤203,基于各个所确定的处理层的运算耗时,确定待处理深度神经网络的运算耗时。
在本实施例中,上述执行主体可以基于各个所确定的处理层的运算耗时,确定上述待处理深度神经网络的运算耗时。在实践中,上述执行主体可以采用各种方式确定待处理深度神经网络的耗时,比如,上述执行主体可以将各个所确定的处理层的运算耗时之和,作为该待处理深度神经网络的耗时。此外,上述执行主体还可以按照预设的权重,对各个处理层的运算耗时进行加权,并将加权结果作为该待处理深度神经网络的运算耗时。
本申请的上述实施例提供的方法可以避免确定深度神经网络的运算耗时需要进行的实时运算步骤,直接利用预设的运算耗时数据集,快速、准确地查找出待处理深度神经网络的运算耗时。
继续参见图3,图3是根据本实施例的用于确定深度神经网络的耗时的方法的应用场景的一个示意图。在图3的应用场景中,执行主体301确定待处理深度神经网络(比如VGG16网络)包括的处理层302(比如VGG16网络中包括的18个处理层:10个卷积层、5个池化层和3个全连接层),以及获取所确定的处理层302的参数的值303。执行主体301在预设的运算耗时数据集中,查找所确定的处理层的参数的值303所对应的运算耗时,作为所确定的处理层的运算耗时304,其中,运算耗时数据集中包括对应存储的值与参数为该值的处理层的运算耗时。执行主体301基于各个所确定的处理层(比如上述18个处理层中的每个处理层)的运算耗时304,确定待处理深度神经网络的运算耗时305。
进一步参考图4,其示出了用于确定深度神经网络的耗时的方法中确定运算耗时数据集的一个实施例的流程400。该流程400,包括以下步骤:
步骤401,根据深度神经网络的处理层的待赋值运算公式,生成与该处理层的参数的多个值分别对应的、该处理层的多个运算公式。
在本实施例中,用于确定深度神经网络的耗时的方法运行于其上的执行主体(例如图1所示的服务器或终端设备)可以生成与深度神经网络的处理层的参数的多个值分别对应的、该处理层的运算公式。这里的多个值可以是指定的,为处理层的参数可能的各个赋值。
待赋值运算公式指,该运算公式中存在该参数,但是该参数有待于赋值。上述执行主体可以对这些运算公式中的参数进行赋值,从而得到每个赋值对应的运算公式,也即得到各个赋值对应的多个运算公式。具体地,本实施例中的深度神经网络可以是各种各样的,比如,卷积神经网络、残差神经网络等等。
步骤402,获取执行多个运算公式分别对应的运算的运算耗时,其中,所确定的每个运算耗时为利用相同运算公式进行至少两次运算的运算耗时的平均值。
在本实施例中,任意电子设备可以执行上述多个运算公式分别对应的运算,从而产生在该电子设备上进行该运算的运算耗时。这样,上述执行主体可以获取各个产生出的运算耗时。具体地,运算公式可以表现为代码的形式,该电子设备可以运行该运算公式的代码,以产生该运算公式对应的运算耗时。该电子设备可以利用相同运算公式(比如每个运算公式)进行至少两次运算,并将这至少两个运算的运算耗时的平均值作为该运算公式对应的运算耗时。该电子设备可以是上述执行主体,也可以是上述执行主体以外的各种电子设备比如终端设备,或者服务器等等。
步骤403,对于多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于运算耗时数据集。
在本实施例中,上述执行主体可以对于上述多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的耗时,在运算耗时数据集中进行对应存储。这样,在运算耗时数据集中则存在相对应的两者:值,以及参数为该值的运算公式的运算耗时,这里的参数的该值是处理层的参数的值,也即是对处理层的运算公式中参数的赋值。
本实施例可以预先确定出各种不同参数值参与的运算公式的运算耗时,从而可以有助于快速、准确地查找出不同参数值对应的深度神经网络的运算耗时。
在本实施例的一些可选的实现方式中,深度神经网络包括不同种的处理层;步骤401可以包括:根据每种处理层的待赋值运算公式,生成与每种处理层的参数的多个值分别对应的多个运算公式,其中,不同种的处理层包括:卷积层、池化层和全连接层。
在这些可选的实现方式中,每个处理层都有其对应的待赋值运算公式。同种处理层的待赋值运算公式相同,不同种处理层的待赋值运算公式不同。深度神经网络中可以至少包括以下三种处理层:卷积层、池化层和全连接层。具体地,上述执行主体可以根据卷积层的待赋值运算公式,生成与卷积层的参数的多个值分别对应的多个卷积运算公式;根据池化层的待赋值运算公式,生成与池化层的参数的多个值分别对应的多个池化运算公式;根据全连接层的待赋值运算公式,生成与全连接层的参数的多个值分别对应的多个全连接运算公式。
在实践中,卷积层的参数可以包括以下的至少一者:输入通道数,输出通道数,输入尺寸,卷积核尺寸,步长,填充数,分组数。池化层的参数可以包括以下的至少一者:池化尺寸,步长,填充数。全连接层的参数可以包括以下的至少一者:输入维度和输出维度。
这些实现方式可以针对不同种的处理层,分别生成不同的运算公式,提高生成的准确度。
在这些实现方式的一些可选的应用场景中,运算耗时数据集包括与不同种的处理层分别对应的不同的运算耗时子集;步骤403可以包括:对于每种处理层的参数的多个值分别对应的多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于该种处理层对应的运算耗时子集,其中,不同的运算耗时子集包括卷积运算耗时子集、池化运算耗时子集和全连接运算耗时子集。
在这些可选的应用场景中,运算耗时数据集包括不同的运算耗时子集。每个运算耗时子集与一种处理层相对应,也即,上述执行主体可以将该种处理层的运算耗时,存储于该种处理层相对应的运算耗时子集中。
这些实现方式可以分别将不同种的处理层的运算耗时存储到不同的子集中,从而有助于更快更准确地查找到各种处理层的运算耗时。
在这些应用场景的一些可选的情况下,步骤202可以包括:对于每个所确定的处理层,基于该处理层的种类,将运算耗时数据集的运算耗时子集中,该处理层对应的运算耗时子集作为与该处理层对应的目标运算耗时子集;在目标运算耗时子集中,查找该处理层的参数的值所对应的运算耗时。
在这些可选的情况下,上述执行主体可以对于每个所确定的处理层,将该处理层对应的运算耗时子集,作为该处理层对应的目标运算耗时子集,并在该目标运算耗时子集中,查找该处理层的参数的值所对应的运算耗时。因为不同种的处理层对应不同的运算耗时子集,因此,可以根据所确定的该处理层的种类,也即该处理层为哪种处理层,来确定该处理层对应的运算耗时子集。
这些情况下的上述执行主体可以基于处理层的种类,在处理层对应的运算耗时子集中进行有针对性的查找,从而提高了查找的准确度和效率。
在本实施例的一些可选的实现方式中,运算耗时数据集与指定电子设备相关联;步骤402可以包括:获取指定电子设备执行多个运算公式分别对应的运算的运算耗时;步骤203可以包括:基于各个所确定的处理层的运算耗时,确定指定电子设备执行待处理深度神经网络中的运算的运算耗时。
在这些可选的实现方式中,上述执行主体可以针对指定电子设备,获取该指定电子设备执行运算的运算耗时,从而预测出该指定电子设备执行待处理深度神经网络中的运算所需的运算耗时。
具体地,运算耗时数据集与指定电子设备相关联,可以指该运算耗时数据集中存储有该指定电子设备关于深度神经网络的运算耗时。
这些实现方式可以针对指定的各种电子设备,确定相应的运算耗时数据集,进一步扩展了方案的应用场景。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于确定深度神经网络的耗时的装置的一个实施例,该装置实施例与图2a所示的方法实施例相对应,除下面所记载的特征外,该装置实施例还可以包括与图2a所示的方法实施例相同或相应的特征或效果。该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于确定深度神经网络的耗时的装置500包括:获取单元501、查找单元502和确定单元503。其中,获取单元501,被配置成确定待处理深度神经网络包括的处理层,以及获取所确定的处理层的参数的值;查找单元502,被配置成在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时,其中,运算耗时数据集中包括对应存储的值与参数为该值的处理层的运算耗时;确定单元503,被配置成基于各个所确定的处理层的运算耗时,确定待处理深度神经网络的运算耗时。
在本实施例中,用于确定深度神经网络的耗时的装置500的获取单元501、查找单元502和确定单元503的具体处理及其所带来的技术效果可分别参考图2a对应实施例中步骤201、步骤202和步骤203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,运算耗时数据集通过以下步骤得到:根据深度神经网络的处理层的待赋值运算公式,生成与该处理层的参数的多个值分别对应的、该处理层的多个运算公式;获取执行多个运算公式分别对应的运算的运算耗时,其中,所确定的每个运算耗时为利用相同运算公式进行至少两次运算的运算耗时的平均值;对于多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于运算耗时数据集。
在本实施例的一些可选的实现方式中,深度神经网络包括不同种的处理层;根据深度神经网络的处理层的待赋值运算公式,生成与该处理层的参数的多个值分别对应的、该处理层的多个运算公式,包括:根据每种处理层的待赋值运算公式,生成与每种处理层的参数的多个值分别对应的多个运算公式,其中,不同种的处理层包括:卷积层、池化层和全连接层。
在本实施例的一些可选的实现方式中,运算耗时数据集包括与不同种的处理层分别对应的不同的运算耗时子集;对于多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于运算耗时数据集,包括:对于每种处理层的参数的多个值分别对应的多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于该种处理层对应的运算耗时子集,其中,不同的运算耗时子集包括卷积运算耗时子集、池化运算耗时子集和全连接运算耗时子集。
在本实施例的一些可选的实现方式中,查找单元,进一步被配置成按照如下方式执行在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时:对于每个所确定的处理层,基于该处理层的种类,将运算耗时数据集的运算耗时子集中,该处理层对应的运算耗时子集作为与该处理层对应的目标运算耗时子集;在目标运算耗时子集中,查找该处理层的参数的值所对应的运算耗时。
在本实施例的一些可选的实现方式中,运算耗时数据集与指定电子设备相关联;获取执行多个运算公式分别对应的运算的运算耗时,包括:获取指定电子设备执行多个运算公式分别对应的运算的运算耗时;以及确定单元,进一步被配置成按照如下方式执行基于各个所确定的处理层的运算耗时,确定待处理深度神经网络的运算耗时:基于各个所确定的处理层的运算耗时,确定指定电子设备执行待处理深度神经网络中的运算的运算耗时。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的用于确定深度神经网络的耗时的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的用于确定深度神经网络的耗时的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的用于确定深度神经网络的耗时的方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的用于确定深度神经网络的耗时的方法对应的程序指令/模块(例如,附图5所示的获取单元501、查找单元502和确定单元503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于确定深度神经网络的耗时的方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于确定深度神经网络的耗时的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至用于确定深度神经网络的耗时的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于确定深度神经网络的耗时的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与用于确定深度神经网络的耗时的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、查找单元和确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“基于各个所确定的处理层的运算耗时,确定待处理深度神经网络的运算耗时的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:确定待处理深度神经网络包括的处理层,以及获取所确定的处理层的参数的值;在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时,其中,运算耗时数据集中包括对应存储的值与参数为该值的处理层的运算耗时;基于各个所确定的处理层的运算耗时,确定待处理深度神经网络的运算耗时。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种用于确定深度神经网络的耗时的方法,所述方法包括:
确定待处理深度神经网络包括的处理层,以及获取所确定的处理层的参数的值;
在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时,其中,所述运算耗时数据集中包括对应存储的值与参数为该值的处理层的运算耗时,所述运算耗时数据集中的值与运算耗时的对应关系以各种形式中的一种形式表现,所述各种形式包括表格、字典;
基于各个所确定的处理层的运算耗时,确定所述待处理深度神经网络的运算耗时。
2.根据权利要求1所述的方法,其中,所述运算耗时数据集通过以下步骤得到:
根据深度神经网络的处理层的待赋值运算公式,生成与该处理层的参数的多个值分别对应的、该处理层的多个运算公式;
获取执行所述多个运算公式分别对应的运算的运算耗时,其中,所确定的每个运算耗时为利用相同运算公式进行至少两次运算的运算耗时的平均值;
对于所述多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于运算耗时数据集。
3.根据权利要求2所述的方法,其中,深度神经网络包括不同种的处理层;所述根据深度神经网络的处理层的待赋值运算公式,生成与该处理层的参数的多个值分别对应的、该处理层的多个运算公式,包括:
根据每种处理层的待赋值运算公式,生成与每种处理层的参数的多个值分别对应的多个运算公式,其中,所述不同种的处理层包括:卷积层、池化层和全连接层。
4.根据权利要求3所述的方法,其中,所述运算耗时数据集包括与所述不同种的处理层分别对应的不同的运算耗时子集;
所述对于所述多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于运算耗时数据集,包括:
对于每种处理层的参数的多个值分别对应的多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于该种处理层对应的运算耗时子集,其中,所述不同的运算耗时子集包括卷积运算耗时子集、池化运算耗时子集和全连接运算耗时子集。
5.根据权利要求4所述的方法,其中,所述在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时,包括:
对于每个所确定的处理层,基于该处理层的种类,将所述运算耗时数据集的运算耗时子集中,该处理层对应的运算耗时子集作为与该处理层对应的目标运算耗时子集;
在所述目标运算耗时子集中,查找该处理层的参数的值所对应的运算耗时。
6.根据权利要求2所述的方法,其中,所述运算耗时数据集与指定电子设备相关联;
所述获取执行所述多个运算公式分别对应的运算的运算耗时,包括:
获取所述指定电子设备执行所述多个运算公式分别对应的运算的运算耗时;以及
所述基于各个所确定的处理层的运算耗时,确定所述待处理深度神经网络的运算耗时,包括:
基于各个所确定的处理层的运算耗时,确定所述指定电子设备执行所述待处理深度神经网络中的运算的运算耗时。
7.一种用于确定深度神经网络的耗时的装置,所述装置包括:
获取单元,被配置成确定待处理深度神经网络包括的处理层,以及获取所确定的处理层的参数的值;
查找单元,被配置成在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时,其中,所述运算耗时数据集中包括对应存储的值与参数为该值的处理层的运算耗时,所述运算耗时数据集中的值与运算耗时的对应关系以各种形式中的一种形式表现,所述各种形式包括表格、字典;
确定单元,被配置成基于各个所确定的处理层的运算耗时,确定所述待处理深度神经网络的运算耗时。
8.根据权利要求7所述的装置,其中,所述运算耗时数据集通过以下步骤得到:
根据深度神经网络的处理层的待赋值运算公式,生成与该处理层的参数的多个值分别对应的、该处理层的多个运算公式;
获取执行所述多个运算公式分别对应的运算的运算耗时,其中,所确定的每个运算耗时为利用相同运算公式进行至少两次运算的运算耗时的平均值;
对于所述多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于运算耗时数据集。
9.根据权利要求8所述的装置,其中,深度神经网络包括不同种的处理层;所述根据深度神经网络的处理层的待赋值运算公式,生成与该处理层的参数的多个值分别对应的、该处理层的多个运算公式,包括:
根据每种处理层的待赋值运算公式,生成与每种处理层的参数的多个值分别对应的多个运算公式,其中,所述不同种的处理层包括:卷积层、池化层和全连接层。
10.根据权利要求9所述的装置,其中,所述运算耗时数据集包括与所述不同种的处理层分别对应的不同的运算耗时子集;
所述对于所述多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于运算耗时数据集,包括:
对于每种处理层的参数的多个值分别对应的多个运算公式中的运算公式,将该运算公式中的参数的值和该运算公式对应的运算耗时,对应存储于该种处理层对应的运算耗时子集,其中,所述不同的运算耗时子集包括卷积运算耗时子集、池化运算耗时子集和全连接运算耗时子集。
11.根据权利要求10所述的装置,其中,所述查找单元,进一步被配置成按照如下方式执行所述在预设的运算耗时数据集中,查找所确定的处理层的参数的值所对应的运算耗时,作为所确定的处理层的运算耗时:
对于每个所确定的处理层,基于该处理层的种类,将所述运算耗时数据集的运算耗时子集中,该处理层对应的运算耗时子集作为与该处理层对应的目标运算耗时子集;
在所述目标运算耗时子集中,查找该处理层的参数的值所对应的运算耗时。
12.根据权利要求8所述的装置,其中,所述运算耗时数据集与指定电子设备相关联;
所述获取执行所述多个运算公式分别对应的运算的运算耗时,包括:
获取所述指定电子设备执行所述多个运算公式分别对应的运算的运算耗时;以及
所述确定单元,进一步被配置成按照如下方式执行所述基于各个所确定的处理层的运算耗时,确定所述待处理深度神经网络的运算耗时:
基于各个所确定的处理层的运算耗时,确定所述指定电子设备执行所述待处理深度神经网络中的运算的运算耗时。
13.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010325700.3A CN111522837B (zh) | 2020-04-23 | 2020-04-23 | 用于确定深度神经网络的耗时的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010325700.3A CN111522837B (zh) | 2020-04-23 | 2020-04-23 | 用于确定深度神经网络的耗时的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522837A CN111522837A (zh) | 2020-08-11 |
CN111522837B true CN111522837B (zh) | 2023-06-23 |
Family
ID=71903099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010325700.3A Active CN111522837B (zh) | 2020-04-23 | 2020-04-23 | 用于确定深度神经网络的耗时的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522837B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112990433B (zh) * | 2021-03-08 | 2024-06-04 | Oppo广东移动通信有限公司 | 模型耗时预测方法、装置、电子设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106033469A (zh) * | 2014-11-14 | 2016-10-19 | 塔塔顾问服务有限公司 | 用于大数据的结构化查询的高效性能预测的方法和系统 |
CN106844024A (zh) * | 2016-12-30 | 2017-06-13 | 中国科学院计算技术研究所 | 一种自学习运行时间预测模型的gpu/cpu调度方法及系统 |
CN107622498A (zh) * | 2017-09-29 | 2018-01-23 | 北京奇虎科技有限公司 | 基于场景分割的图像穿越处理方法、装置及计算设备 |
CN108038546A (zh) * | 2017-12-29 | 2018-05-15 | 百度在线网络技术(北京)有限公司 | 用于压缩神经网络的方法和装置 |
CN109214515A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种深度神经网络推理方法及计算设备 |
CN109214509A (zh) * | 2017-07-05 | 2019-01-15 | 中国科学院沈阳自动化研究所 | 一种用于深度神经网络高速实时量化结构和运算实现方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019032729A (ja) * | 2017-08-09 | 2019-02-28 | 富士通株式会社 | 演算時間算出方法、演算時間算出装置、演算時間算出プログラム及び演算時間算出システム |
US11275991B2 (en) * | 2018-04-04 | 2022-03-15 | Nokia Technologies Oy | Coordinated heterogeneous processing of training data for deep neural networks |
CN110390387B (zh) * | 2018-04-20 | 2023-07-18 | 伊姆西Ip控股有限责任公司 | 对深度学习应用所用资源进行评估 |
CN108681487B (zh) * | 2018-05-21 | 2021-08-24 | 千寻位置网络有限公司 | 传感器算法参数调优的分布式系统和调优方法 |
CN110298437B (zh) * | 2019-06-28 | 2021-06-01 | Oppo广东移动通信有限公司 | 神经网络的分割计算方法、装置、存储介质及移动终端 |
-
2020
- 2020-04-23 CN CN202010325700.3A patent/CN111522837B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106033469A (zh) * | 2014-11-14 | 2016-10-19 | 塔塔顾问服务有限公司 | 用于大数据的结构化查询的高效性能预测的方法和系统 |
CN106844024A (zh) * | 2016-12-30 | 2017-06-13 | 中国科学院计算技术研究所 | 一种自学习运行时间预测模型的gpu/cpu调度方法及系统 |
CN109214515A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种深度神经网络推理方法及计算设备 |
CN109214509A (zh) * | 2017-07-05 | 2019-01-15 | 中国科学院沈阳自动化研究所 | 一种用于深度神经网络高速实时量化结构和运算实现方法 |
CN107622498A (zh) * | 2017-09-29 | 2018-01-23 | 北京奇虎科技有限公司 | 基于场景分割的图像穿越处理方法、装置及计算设备 |
CN108038546A (zh) * | 2017-12-29 | 2018-05-15 | 百度在线网络技术(北京)有限公司 | 用于压缩神经网络的方法和装置 |
Non-Patent Citations (2)
Title |
---|
Application of neural networks for short-term load forecasting;R. Afkhami et al.;《2006 IEEE Power India Conference》;全文 * |
深度神经网络压缩综述;李青华 等;《计算机科学》(第9期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111522837A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210264197A1 (en) | Point cloud data processing method, apparatus, electronic device and computer readable storage medium | |
CN111046257B (zh) | 一种会话推荐方法、装置以及电子设备 | |
US11748895B2 (en) | Method and apparatus for processing video frame | |
CN112084366B (zh) | 用于检索图像的方法、装置、设备以及存储介质 | |
CN110706147B (zh) | 图像处理的环境确定方法、装置、电子设备和存储介质 | |
CN111695519B (zh) | 关键点定位方法、装置、设备以及存储介质 | |
CN112241716B (zh) | 训练样本的生成方法和装置 | |
CN111652354B (zh) | 用于训练超网络的方法、装置、设备以及存储介质 | |
CN111752960B (zh) | 数据处理方法和装置 | |
CN111753964A (zh) | 神经网络的训练方法和装置 | |
CN111522837B (zh) | 用于确定深度神经网络的耗时的方法和装置 | |
CN112561059B (zh) | 用于模型蒸馏的方法和装置 | |
CN111177479B (zh) | 获取关系网络图中节点的特征向量的方法以及装置 | |
CN111738325B (zh) | 图像识别方法、装置、设备以及存储介质 | |
CN111461306B (zh) | 特征评估的方法及装置 | |
CN111767990A (zh) | 神经网络的处理方法和装置 | |
CN112598136B (zh) | 数据的校准方法和装置 | |
CN111523000B (zh) | 用于导入数据的方法、装置、设备以及存储介质 | |
CN111860226B (zh) | 用于图像处理的方法、装置、设备以及存储介质 | |
CN111488972B (zh) | 数据迁移方法、装置、电子设备和存储介质 | |
CN111340222B (zh) | 神经网络模型搜索方法、装置以及电子设备 | |
CN111506499B (zh) | 一种小程序中参数可用性检测方法、装置以及电子设备 | |
CN111581049B (zh) | 分布式系统运行状态监测方法、装置、设备及存储介质 | |
CN111582480A (zh) | 用于对模型剪枝的方法和装置 | |
JP2021192224A (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 |