CN110083532A - 基于深度学习框架的融合模式下运行错误定位方法及装置 - Google Patents
基于深度学习框架的融合模式下运行错误定位方法及装置 Download PDFInfo
- Publication number
- CN110083532A CN110083532A CN201910298218.2A CN201910298218A CN110083532A CN 110083532 A CN110083532 A CN 110083532A CN 201910298218 A CN201910298218 A CN 201910298218A CN 110083532 A CN110083532 A CN 110083532A
- Authority
- CN
- China
- Prior art keywords
- layer
- network
- run
- target network
- target
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- 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)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种基于深度学习框架的融合模式下运行错误定位方法及装置,该方法通过在深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,不断调整运行的网络结构,逐步缩小导致融合模式运行错误的原因所在的范围,直到找到错误层,从而,能够快速的找出错误原因,提高修复问题的效率。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种基于深度学习框架的融合模式下运行错误定位方法及装置。
背景技术
在深度学习框架下,可对深度学习中的网络进行逐层运行,或者,按照融合模式运行,相比逐层模式,网络在融合模式下运行,有着极高的性能提升以及输入输出io量的大幅度降低等优势。但由于融合模式下,运算过程中的所有中间结果不会输出,在融合模式出现错误需要调试时,由于神经网络层数多且复杂,对于定位错误原因极为不便。因此,针对深度学习框架的融合模式下运行错误时对错误原因进行定位的问题需要解决。
发明内容
本申请实施例提供了一种基于深度学习框架的融合模式下运行错误定位装置及装置,通过对目标网络重新运行,根据运行结果定位导致融合模式运行错误的错误层,从而,能够快速的找出错误原因,提高修复问题的效率。
第一方面,本申请实施例提供了一种基于深度学习框架的融合模式下运行错误定位方法,所述方法包括:
在所述深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,根据目标信息确定第一目标层,所述目标信息为所述目标网络的描述文本文件的文本行数;
运行所述目标网络至所述第一目标层,得到运行结果;
根据所述运行结果对所述第一目标层进行更新,得到第二目标层;
运行所述目标网络至所述第二目标层,直到获得导致所述融合模式运行错误的错误层。
第二方面,提供一种基于深度学习框架的融合模式下运行错误定位装置,所述装置包括控制器和执行器,其中,
所述控制器,用于在所述深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,根据目标信息确定第一目标层,所述目标信息为所述目标网络的描述文本文件的文本行数;
所述执行器,用于运行所述目标网络至所述第一目标层,得到运行结果;
所述控制器,还用于根据所述运行结果对所述第一目标层进行更新,得到第二目标层;
所述执行器,还用于运行所述目标网络至所述第二目标层,直到获得导致所述融合模式运行错误的错误层。
可选地,在所述根据目标信息确定第一目标层方面,所述控制器具体用于:
根据二分法从所述目标网络的描述文本文件的文本行数中确定所述目标网络的第一中间行;
根据所述第一中间行确定所述第一目标层。
可选地,在所述根据所述第一中间行确定第一目标层方面,所述控制器具体用于:
确定与所述第一中间行最接近的第一层起始行或第一层终止行;
确定所述第一层起始行或所述第一层终止行对应的层的前一层为所述第一目标层。
可选地,在所述运行所述目标网络至所述第一目标层方面,所述执行器具体用于:
将所述目标网络对应的描述文本文件中所述第一目标层之后的每一层网络对应的描述内容进行文本注释,得到注释后的所述描述文本文件,通过所述描述文本文件控制所述目标网络运行;
根据注释后的所述描述文本文件运行所述目标网络至所述第一目标层。
可选地,在所述将所述目标网络对应的描述文本文件中所述第一目标层之后的每一层网络对应的描述内容进行文本注释方面,所述执行器具体用于:
在所述目标网络对应的描述文本文件中所述第一目标层数之后每一层网络中每一行对应的描述内容前面添加预设符号。
可选地,在所述运行所述目标网络至所述第一目标层方面,所述执行器具体用于:
统计所述目标网络中每一层的层起始行数;
根据所述每一层的层起始行数执行所述目标网络至所述第一目标层。
可选地,在所述根据所述运行结果对所述第一目标层进行更新,得到第二目标层方面,所述控制器具体用于:
将所述目标网络划分为包含所述第一目标层之前的第一部分网络和除所述第一部分网络以外的第二部分网络;
根据所述运行结果,利用所述第一部分网络的行数层数信息或所述第二部分网络的行数层数信息确定所述第二目标层。
可选地,在所述利用所述第一部分网络的行数层数信息或所述第二部分网络的行数层数信息确定所述第二目标层方面,所述控制器具体用于:
所述利用所述第一部分网络的行数层数信息或所述第二部分网络的行数层数信息确定所述第二目标层。
第三方面,本申请实施例提供了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如第一方面所述的方法步骤。
第四方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如第一方面所述的方法步骤。
第五方面,本申请实施例提供了一种芯片,该芯片包括上述第二方面所述基于深度学习框架的融合模式下运行错误定位装置。
第六方面,本申请实施例提供了一种芯片封装结构,该芯片封装结构包括上述第五方面所述的芯片;
第七方面,本申请实施例提供了一种板卡,该板卡包括上述第六方面所述的芯片封装结构。
第八方面,本申请实施例提供了一种电子装置,该电子装置包括上述第五方面所述的芯片或者上述第七方面所述的板卡。
在一些实施例中,所述电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
在一些实施例中,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
可以看出,本技术方案通过在深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,根据目标信息确定第一目标层,运行目标网络至第一目标层,得到运行结果,根据运行结果对第一目标层进行更新,得到第二目标层,运行目标网络至第二目标层,直到获得导致融合模式运行错误的错误层,如此,通过每一次更新重新运行目标网络的目标层,可不断调整每一次目标网络中需要运行的网络结构,逐步缩小导致融合模式运行错误的原因所在的范围,直到找到错误层,从而,能够快速的找出错误原因,提高修复问题的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种基于深度学习框架的融合模式下运行错误定位装置的结构示意图;
图1B是本申请实施例提供的一种确定目标网络的错误层的演示示意图;
图2是本申请实施例提供的一种基于深度学习框架的融合模式下运行错误定位方法的流程示意图;
图3是本申请实施例提供的一种组板卡的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在融合模式下运行神经网络,主要为神经网络中的层间融合,包括支持前融合,后融合和金字塔融合。其中,层间融合能减少网络中的访存,从而提升网络性能。金字塔融合的融合行为比较复杂。金字塔融合建立了一张算子融合的白名单,并尝试白名单内任意算子的融合。融合的约束条件包括芯片上资源、网络拓扑的限制。融合模式可将所有可以在人工智能处理器上进行计算的层都先设置完参数后传入融合图中,由人工智能学习库完成整体的图构建以及优化工作,只有设置的输入输出作为网络整体的输入输出,中间结果的空间会被复用以减少内存占用,深度学习框架下,神经网络在融合模式下计算正确的情况下与逐层模式运算的结果应当是完全一致的,因此,当神经网络逐层运行正确,而融合模式运行错误时,需要定位出出错原因。
如图1A所示,图1A为本申请实施例提供的一种基于深度学习框架的融合模式下运行错误定位方法的流程示意图,所述方法包括:
101、在所述深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,根据目标信息确定第一目标层,所述目标信息为所述目标网络的描述文本文件的文本行数。
本申请实施例中,深度学习框架下的神经网络的网络描述文件包括一个protobuf格式的文本文件prototxt,加上一个保存权值和参数的二进制格式的文件caffemodel。深度学习框架下,需要先从prototxt文件和caffemodel文件中获取网络结构,再根据解析出来的网络结构进行网络正向或反向运算。其中,prototxt文件可控制网络的结构,prototxt文件可以仅包括caffemodel文件的部分网络结构,即prototxt文件可以是整个网络的子集。因此,通过修改prototxt文件,可以控制网络的运行情况。
其中,在深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,可根据目标信息确定第一目标层,其中,目标信息为目标网络的描述文本文件的文本行数,例如,目标网络的prototxt文件的文本行数可以为214,共23层。
可选地,上述步骤101中,根据目标信息确定第一目标层,可包括以下步骤:
11、根据二分法从所述目标网络的描述文本文件的文本行数中确定所述目标网络的第一中间行;
12、根据所述第一中间行确定所述第一目标层。
其中,根据二分法确定第一中间行,可采用如下公式:
其中,a1为目标网络的第一网络起始行,b1为目标网络的第一网络终止行,例如,当目标网络的prototxt文件的文本行数为214,中间行可确定为107行。
其中,根据第一中间行确定第一目标层,可确定中间行所在的层为第一目标层,例如,若107行所在的层为第11层,可确定第一目标层为第11层。
可选地,上述步骤12中,根据所述第一中间行确定第一目标层,可包括以下步骤:
A1、确定与所述第一中间行最接近的第一层起始行或第一层终止行;
A2、确定所述第一层起始行或所述第一层终止行对应的层的前一层为所述第一目标层。
其中,在目标网络包含的多层网络中,每一层可包含一个层起始行,层终止行,举例说明,如下表所示,为本申请实施例提供的一种目标网络中prototxt文件的行数和层数信息的示例:
其中,目标网络中,prototxt文件的文本行数为214行,除了输入层外,共有23层,第一层从第9行开始。
本申请实施例中,在确定第一中间行为107行后,可确定距离第一中间行最近的第一层起始行或第一层终止行,第一起始行为105行,第一终止行为116,因此,可确定第一目标层为第一起始行对应的第11层的前一层,即第10层。
可选地,本申请实施例中,还可先根据二分法确定目标网络的第一中间层,具体地,可采用如下公式:
其中,c1为目标网络的起始层,d1为目标网络的终止层,例如,目标网络为23层,则第一中间层为第11层,然后确定第一目标层为第一中间层的前一层,即第10层。
102、运行所述目标网络至所述第一目标层,得到运行结果。
本申请实施例中,考虑到prototxt文件的文本内容可编辑,因此,可通过对prototxt文件的文本内容进行文本注释,来控制目标网络至第一目标层。
可选地,上述步骤102中,运行所述目标网络至所述第一目标层,可包括以下步骤:
21、将所述目标网络对应的描述文本文件中所述第一目标层之后的每一层网络对应的描述内容进行文本注释,得到注释后的所述描述文本文件,通过所述描述文本文件控制所述目标网络运行;
22、根据注释后的所述描述文本文件运行所述目标网络至所述第一目标层。
其中,可将描述文本文件中第一目标层之后的每一层网络对应的描述内容进行文本注释,得到注释后的描述文本文件,然后根据注释后的描述文本文件控制目标网络至第一目标层。举例说明,若目标网络包括23层,第一目标层为第10层,则可将prototxt文件中第10层以后的每一层对应的描述内容进行文本注释,即对prototxt文件中105行以后的描述内容进行文本注释,从而控制目标网络运行至第10层。
可选地,上述步骤21中,将所述目标网络对应的描述文本文件中所述第一目标层之后的每一层网络对应的描述内容进行文本注释,可包括以下步骤:
在所述目标网络对应的描述文本文件中所述第一目标层数之后每一层网络中每一行对应的描述内容前面添加预设符号。
其中,对描述文本文件中第一目标层之后的每一层网络对应的描述内容进行文本注释,可通过在每一层网络中每一行对应的描述内容前面添加预设符号,例如,可在描述内容前面添加“#”号,从而,可实现对目标网络中不需要执行的层进行文本注释。
可选地,上述步骤102中,运行所述目标网络至所述第一目标层,可包括以下步骤:
23、统计所述目标网络中每一层的层起始行数;
24、根据所述每一层的层起始行数执行所述目标网络至所述第一目标层。
本申请实施例中,考虑到网络运行是以层为单位,因此,在运行目标网络至第一目标层时,可先统计每一层的层起始行数,然后通过定位至每一层的层起始行,直行至层起始行对应的层。
103、根据所述运行结果对所述第一目标层进行更新,得到第二目标层。
其中,在运行目标网络至第一目标层后,可得到运行结果正确或者运行结果错误,不管运行结果正确还是错误,可根据运行结果确定错误原因所在的范围,并对第一目标层进行更新。
可选地,上述步骤103中,根据所述运行结果对所述第一目标层进行更新,得到第二目标层,可包括以下步骤:
31、将所述目标网络划分为包含所述第一目标层之前的第一部分网络和除所述第一部分网络以外的第二部分网络;
32、根据运行结果,利用所述第一部分网络的行数层数信息或所述第二部分网络的行数层数信息确定所述第二目标层。
其中,若目标网络包括23层,可将目标网络划分为1层-10层的第一部分网络,和11层-23层的第二部分网络,进而,利用第一部分网络的行数层数信息或第二部分网络的行数层数信息确定第二目标层。
可选地,上述步骤32中,利用所述第一部分网络的行数层数信息或第二部分网络的行数层数信息确定所述第二目标层,可包括以下步骤:
B1、若所述运行结果错误,将所述第一部分网络的行数层数信息作为新的所述目标信息;若所述运行结果正确,将所述第二部分网络的行数层数信息作为新的所述目标信息;
B2、根据所述新的目标信息确定所述第二目标层。
其中,若运行结果错误,表明导致融合模式运行错误的原因在第一部分网络,因此,可将第一部分网络的行数层数信息作为新的目标信息,例如,目标网络包括23层,则可将第1层-第10层的行数层数信息作为新的目标信息;若运行结果正确,表明导致融合模式运行错误的原因在第二部分网络,因此,可将第二部分网络的行数层数信息作为新的目标信息,例如,目标网络包括23层,则可将第11层-第23层的行数层数信息作为新的目标信息。
进一步地,可根据新的目标信息确定第二目标层,根据新的目标信息确定第二目标层,具体地,若运行结果错误,可将第1层-第10层的行数层数信息作为新的目标信息,可根据二分法从第一部分网络的描述文本文件的文本行数中确定第一部分网络的第二中间行,得到第二中间行为52行,进而根据第二中间行确定第二目标层,可确定与第二中间行最接近的第二起始行对应层的前一层,得到第二目标层第4层。若运行结果正确,可将第11层-第23层的行数层数信息作为新的目标信息,可根据二分法从第二部分网络的描述文本文件的文本行数中确定第二部分网络的第三中间行,得到第三中间行为160行,进而根据第三中间行确定第二目标层,可确定与第三中间行最接近的第三起始行对应层的前一层,得到第二目标层,其中,第三中间行最接近的第三起始行为第161行,第161行对应层的前一层为第16层,得到第二目标成为16层。
104、运行所述目标网络至所述第二目标层,直到获得导致所述融合模式运行错误的错误层。
本申请实施例中,运行目标网络至第二目标层,可将目标网络对应的描述文本文件中第二目标层之后的每一层网络对应的描述内容进行文本注释,得到注释后的描述文本文件,然后,根据注释后的描述文本文件运行目标网络至所述第二目标层。具体实施中,若运行结果错误,第二目标层为第4层,需要对第4层以后的每一层网络对应的描述内容进行文本注释,考虑到在运行目标网络至第一目标层时,第10层后面的每一层网络对应的描述内容已经注释,因此,可将第5层至第10层网络对应的描述内容进行文本注释,即对第48行-104行进行文本注释。若运行结果正确,第二目标层为第16层,需要对第16层以后的每一层网络对应的描述内容进行文本注释,考虑到在运行目标网络至第一目标层时,第10层后面的每一层网络对应的描述内容已经注释,因此,可取消第11层至第15层网络对应的描述内容中的文本注释,即取消第105行-160行的文本注释。
通过运行目标网络至第二目标层,可得到新的运行结果,进而可依照步骤103-步骤104的操作,直到找到导致融合模式运行错误的错误层。可见,通过每一次更新重新运行目标网络的目标层,可不断调整每一次目标网络中需要运行的网络结构,逐步缩小导致融合模式运行错误的原因所在的范围,直到找到错误层。
举例说明,如图1B所示,为本申请提供的一种确定目标网络的错误层的演示示意图。如图1B所示,目标网络包括214行,23层,首先可确定第一目标层为第10层,然后,将prototxt文件中第105行-214行对应的描述内容进行文本注释,控制目标网络运行至第10层。若运行目标网络至第10层的运行结果错误,可确定第二目标层为第4层,然后将prototxt文件中第48行-104行对应的描述内容进行文本注释,控制目标网络运行至第4层。若运行目标网络至第10层的运行结果正确,可确定第二目标层为第16层,然后取消prototxt文件中第105行-160行对应的文本注释,控制目标网络运行至第16层。
若运行目标网络至第4层的运行结果错误,可确定第三目标层为第1层,然后将prototxt文件中第20行-47行对应的描述内容进行文本注释,控制目标网络运行至第1层。若运行目标网络至第4层的运行结果正确,可确定第三目标层为第6层,然后取消prototxt文件中第48行-65行对应的文本注释,控制目标网络运行至第6层。若运行目标网络至第16层的运行结果错误,可确定第三目标层为第13层,然后将prototxt文件中第123行-160行对应的描述内容进行文本注释,控制目标网络运行至第13层。若运行目标网络至第16层的运行结果正确,可确定第三目标层为第19层,然后取消prototxt文件中第161行-184行对应的文本注释,控制目标网络运行至第19层。若运行目标网络至第1层的运行结果错误,可确定错误层为第1层。
以此类推,若在运行目标网络至第2层的运行结果错误,确定错误层为第2层,若在运行目标网络至第2层的运行结果正确,确定错误层为第3层。
若运行目标网络至第3层的运行结果正确,可确定错误层为第4层。
若在运行目标网络至第5层的运行结果错误,确定错误层为第5层,若在运行目标网络至第5层的运行结果正确,确定错误层为第6层。
若在运行目标网络至第7层的运行结果错误,确定错误层为第7层,若在运行目标网络至第7层的运行结果正确,确定错误层为第8层。
若在运行目标网络至第9层的运行结果错误,确定错误层为第9层,若在运行目标网络至第9层的运行结果正确,确定错误层为第10层。
若在运行目标网络至第11层的运行结果错误,确定错误层为第11层,若在运行目标网络至第11层的运行结果正确,确定错误层为第12层。
若运行目标网络至第12层的运行结果正确,可确定错误层为第13层。
若在运行目标网络至第14层的运行结果错误,确定错误层为第14层,若在运行目标网络至第14层的运行结果正确,确定错误层为第15层。
若运行目标网络至第15层的运行结果正确,可确定错误层为第16层;若运行目标网络至第17层的运行结果错误,可确定错误层为第17层。
若在运行目标网络至第18层的运行结果错误,确定错误层为第18层,若在运行目标网络至第18层的运行结果正确,确定错误层为第19层。
若在运行目标网络至第20层的运行结果错误,确定错误层为第20层,若在运行目标网络至第20层的运行结果正确,确定错误层为第21层。
若在运行目标网络至第22层的运行结果错误,确定错误层为第23层,若在运行目标网络至第22层的运行结果正确,确定错误层为第22层。
可以看出,本申请提供的技术方案,通过在深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,根据目标信息确定第一目标层,运行目标网络至第一目标层,得到运行结果,根据运行结果对第一目标层进行更新,得到第二目标层,运行目标网络至第二目标层,直到获得导致融合模式运行错误的错误层,如此,通过每一次更新重新运行目标网络的目标层,可不断调整每一次目标网络中需要运行的网络结构,逐步缩小导致融合模式运行错误的原因所在的范围,直到找到错误层,从而,能够快速的找出错误原因,提高修复问题的效率。
下面介绍本申请提供的基于深度学习框架的融合模式下运行错误定位装置。
请参阅图2,图2提供了一种基于深度学习框架的融合模式下运行错误定位装置,该基于深度学习框架的融合模式下运行错误定位装置包括处理器101和存储单元102,其中,处理器101包括控制器10和执行器11,所述存储单元102包括寄存器21和随机存取存储器RAM22。其中,
所述控制器10,用于在所述深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,根据目标信息确定第一目标层,所述目标信息为所述目标网络的描述文本文件的文本行数;
所述执行器11,用于运行所述目标网络至所述第一目标层,得到运行结果;
所述控制器10,还用于根据所述运行结果对所述第一目标层进行更新,得到第二目标层;
所述执行器11,还用于运行所述目标网络至所述第二目标层,直到获得导致所述融合模式运行错误的错误层。
其中,目标网络是指深度学习框架下的神经网络。
其中,所述寄存器21和所述RAM22,用于存储目标网络的描述文本文件。其中,网络描述文件包括一个protobuf格式的文本文件prototxt,加上一个保存权值和参数的二进制格式的文件caffemodel。
在一个可能的实施例中,在所述根据目标信息确定第一目标层方面,所述控制器具体用于:
根据二分法从所述目标网络的描述文本文件的文本行数中确定所述目标网络的第一中间行;
根据所述第一中间行确定所述第一目标层。
在一个可能的实施例中,在所述根据所述第一中间行确定第一目标层方面,所述控制器具体用于:
确定与所述第一中间行最接近的第一层起始行或第一层终止行;
确定所述第一层起始行或所述第一层终止行对应的层的前一层为所述第一目标层。
在一个可能的实施例中,在所述运行所述目标网络至所述第一目标层方面,所述执行器具体用于:
将所述目标网络对应的描述文本文件中所述第一目标层之后的每一层网络对应的描述内容进行文本注释,得到注释后的所述描述文本文件,通过所述描述文本文件控制所述目标网络运行;
根据注释后的所述描述文本文件运行所述目标网络至所述第一目标层。
在一个可能的实施例中,在所述将所述目标网络对应的描述文本文件中所述第一目标层之后的每一层网络对应的描述内容进行文本注释方面,所述执行器具体用于:
在所述目标网络对应的描述文本文件中所述第一目标层数之后每一层网络中每一行对应的描述内容前面添加预设符号。
在一个可能的实施例中,在所述运行所述目标网络至所述第一目标层方面,所述执行器具体用于:
统计所述目标网络中每一层的层起始行数;
根据所述每一层的层起始行数执行所述目标网络至所述第一目标层。
在一个可能的实施例中,在所述根据所述运行结果对所述第一目标层进行更新,得到第二目标层方面,所述控制器具体用于:
将所述目标网络划分为包含所述第一目标层之前的第一部分网络和除所述第一部分网络以外的第二部分网络;
根据所述运行结果,利用所述第一部分网络的行数层数信息或所述第二部分网络的行数层数信息确定所述第二目标层。
在一个可能的实施例中,在所述利用所述第一部分网络的行数层数信息或所述第二部分网络的行数层数信息确定所述第二目标层方面,所述控制器具体用于:
所述利用所述第一部分网络的行数层数信息或所述第二部分网络的行数层数信息确定所述第二目标层。
可以看出,本申请提供的技术方案,通过在深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,根据目标信息确定第一目标层,运行目标网络至第一目标层,得到运行结果,根据运行结果对第一目标层进行更新,得到第二目标层,运行目标网络至第二目标层,直到获得导致融合模式运行错误的错误层,如此,通过每一次更新重新运行目标网络的目标层,可不断调整每一次目标网络中需要运行的网络结构,逐步缩小导致融合模式运行错误的原因所在的范围,直到找到错误层,从而,能够快速的找出错误原因,提高修复问题的效率。
本申请还揭露了一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行如图1A所示的基于深度学习框架的融合模式下运行错误定位方法的步骤。
本申请还揭露了一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如图1A所示的基于深度学习框架的融合模式下运行错误定位方法的步骤。
在一些实施例里,还公开了一种芯片,其包括了上述如图2所示的基于深度学习框架的融合模式下运行错误定位装置。
在一些实施例里,公开了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,公开了一种板卡,其包括了上述芯片封装结构。请参阅图3,图3提供了一种板卡,上述板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
所述存储器件390与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述芯片封装结构内的芯片电连接。所述接口装置用于实现所述芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本申请并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述芯片电连接。所述控制器件用于对所述芯片的状态进行监控。具体的,所述芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一些实施例里,申请了一种电子装置,其包括了上述芯片或者上述板卡。
电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于深度学习框架的融合模式下运行错误定位方法,其特征在于,所述方法包括:
在所述深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,根据目标信息确定第一目标层,所述目标信息为所述目标网络的描述文本文件的文本行数;
运行所述目标网络至所述第一目标层,得到运行结果;
根据所述运行结果对所述第一目标层进行更新,得到第二目标层;
运行所述目标网络至所述第二目标层,直到获得导致所述融合模式运行错误的错误层。
2.根据权利要求1所述的方法,其特征在于,所述根据目标信息确定第一目标层,包括:
根据二分法从所述目标网络的描述文本文件的文本行数中确定所述目标网络的第一中间行;
根据所述第一中间行确定所述第一目标层。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一中间行确定第一目标层,包括:
确定与所述第一中间行最接近的第一层起始行或第一层终止行;
确定所述第一层起始行或所述第一层终止行对应的层的前一层为所述第一目标层。
4.根据权利要求3所述的方法,其特征在于,所述运行所述目标网络至所述第一目标层,包括:
将所述目标网络对应的描述文本文件中所述第一目标层之后的每一层网络对应的描述内容进行文本注释,得到注释后的所述描述文本文件,通过所述描述文本文件控制所述目标网络运行;
根据注释后的所述描述文本文件运行所述目标网络至所述第一目标层。
5.根据权利要求4所述的方法,其特征在于,所述将所述目标网络对应的描述文本文件中所述第一目标层之后的每一层网络对应的描述内容进行文本注释,包括:
在所述目标网络对应的描述文本文件中所述第一目标层数之后每一层网络中每一行对应的描述内容前面添加预设符号。
6.根据权利要求1所述的方法,其特征在于,所述运行所述目标网络至所述第一目标层,包括:
统计所述目标网络中每一层的层起始行数;
根据所述每一层的层起始行数执行所述目标网络至所述第一目标层。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述运行结果对所述第一目标层进行更新,得到第二目标层,包括:
将所述目标网络划分为包含所述第一目标层之前的第一部分网络和除所述第一部分网络以外的第二部分网络;
根据所述运行结果,利用所述第一部分网络的行数层数信息或所述第二部分网络的行数层数信息确定所述第二目标层。
8.根据权利要求7所述的方法,其特征在于,所述利用所述第一部分网络的行数层数信息或所述第二部分网络的行数层数信息确定所述第二目标层,包括:
若所述运行结果错误,将所述第一部分网络的行数层数信息作为新的所述目标信息;若所述运行结果正确,将所述第二部分网络的行数层数信息作为新的所述目标信息;
根据所述新的目标信息确定所述第二目标层。
9.一种基于深度学习框架的融合模式下运行错误定位装置,其特征在于,所述装置包括控制器和执行器,其中,
所述控制器,用于在所述深度学习框架下的目标网络逐层运行正确,而融合模式运行错误时,根据目标信息确定第一目标层,所述目标信息为所述目标网络的描述文本文件的文本行数;
所述执行器,用于运行所述目标网络至所述第一目标层,得到运行结果;
所述控制器,还用于根据所述运行结果对所述第一目标层进行更新,得到第二目标层;
所述执行器,还用于运行所述目标网络至所述第二目标层,直到获得导致所述融合模式运行错误的错误层。
10.一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求9所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910298218.2A CN110083532B (zh) | 2019-04-12 | 2019-04-12 | 基于深度学习框架的融合模式下运行错误定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910298218.2A CN110083532B (zh) | 2019-04-12 | 2019-04-12 | 基于深度学习框架的融合模式下运行错误定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083532A true CN110083532A (zh) | 2019-08-02 |
CN110083532B CN110083532B (zh) | 2023-05-23 |
Family
ID=67415203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910298218.2A Active CN110083532B (zh) | 2019-04-12 | 2019-04-12 | 基于深度学习框架的融合模式下运行错误定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083532B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751272A (zh) * | 2019-10-30 | 2020-02-04 | 珠海格力电器股份有限公司 | 卷积神经网络模型中数据定位的方法、装置及存储介质 |
CN112116081A (zh) * | 2020-09-29 | 2020-12-22 | 杭州海康威视数字技术股份有限公司 | 一种深度学习网络的优化方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038832A1 (en) * | 2003-08-14 | 2005-02-17 | International Business Machines Corporation | Application error recovery using solution database |
CN101256526A (zh) * | 2008-03-10 | 2008-09-03 | 清华大学 | 检查点容错技术中文件状态一致性维护的实现方法 |
CN107306419A (zh) * | 2016-04-21 | 2017-10-31 | ***通信集团广东有限公司 | 一种端到端质量评估方法和装置 |
CN109067581A (zh) * | 2018-08-03 | 2018-12-21 | 中国联合网络通信集团有限公司 | 基于层次分析法的计算网络选择方法及平台 |
CN109299216A (zh) * | 2018-10-29 | 2019-02-01 | 山东师范大学 | 一种融合监督信息的跨模态哈希检索方法和*** |
CN109582579A (zh) * | 2018-11-30 | 2019-04-05 | 腾讯音乐娱乐科技(深圳)有限公司 | 应用程序测试方法、装置、电子设备及存储介质 |
-
2019
- 2019-04-12 CN CN201910298218.2A patent/CN110083532B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038832A1 (en) * | 2003-08-14 | 2005-02-17 | International Business Machines Corporation | Application error recovery using solution database |
CN101256526A (zh) * | 2008-03-10 | 2008-09-03 | 清华大学 | 检查点容错技术中文件状态一致性维护的实现方法 |
CN107306419A (zh) * | 2016-04-21 | 2017-10-31 | ***通信集团广东有限公司 | 一种端到端质量评估方法和装置 |
CN109067581A (zh) * | 2018-08-03 | 2018-12-21 | 中国联合网络通信集团有限公司 | 基于层次分析法的计算网络选择方法及平台 |
CN109299216A (zh) * | 2018-10-29 | 2019-02-01 | 山东师范大学 | 一种融合监督信息的跨模态哈希检索方法和*** |
CN109582579A (zh) * | 2018-11-30 | 2019-04-05 | 腾讯音乐娱乐科技(深圳)有限公司 | 应用程序测试方法、装置、电子设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751272A (zh) * | 2019-10-30 | 2020-02-04 | 珠海格力电器股份有限公司 | 卷积神经网络模型中数据定位的方法、装置及存储介质 |
CN112116081A (zh) * | 2020-09-29 | 2020-12-22 | 杭州海康威视数字技术股份有限公司 | 一种深度学习网络的优化方法及装置 |
CN112116081B (zh) * | 2020-09-29 | 2023-09-08 | 杭州海康威视数字技术股份有限公司 | 一种深度学习网络的优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110083532B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993296A (zh) | 量化实现方法及相关产品 | |
CN109740739A (zh) | 神经网络计算装置、神经网络计算方法及相关产品 | |
CN109543832A (zh) | 一种计算装置及板卡 | |
CN109740751A (zh) | 神经网络模型的架构融合方法及相关装置 | |
CN109739703A (zh) | 调错方法及相关产品 | |
CN109754011A (zh) | 基于Caffe的数据处理方法、装置和相关产品 | |
CN110083532A (zh) | 基于深度学习框架的融合模式下运行错误定位方法及装置 | |
CN109670581A (zh) | 一种计算装置及板卡 | |
CN109754084A (zh) | 网络结构的处理方法、装置及相关产品 | |
CN109670578A (zh) | 神经网络首层卷积层数据处理方法、装置及计算机设备 | |
CN109753319A (zh) | 一种释放动态链接库的装置及相关产品 | |
CN109726800B (zh) | 运算方法、装置及相关产品 | |
CN110059809A (zh) | 一种计算装置及相关产品 | |
CN109711540A (zh) | 一种计算装置及板卡 | |
CN110059812B (zh) | 脉冲神经网络运算芯片及相关运算方法 | |
CN111382847B (zh) | 数据处理装置及相关产品 | |
CN110261758A (zh) | 待测器件验证装置及相关产品 | |
CN109740746A (zh) | 运算方法、装置及相关产品 | |
CN109740730A (zh) | 运算方法、装置及相关产品 | |
CN110490315B (zh) | 神经网络的反向运算稀疏方法及相关产品 | |
CN109961131A (zh) | 神经网络正向运算方法及相关产品 | |
CN111047030A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN110515586A (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
CN110490314B (zh) | 神经网络的稀疏方法及相关产品 | |
CN111061507A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences Applicant after: Zhongke Cambrian Technology Co.,Ltd. Address before: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences Applicant before: Beijing Zhongke Cambrian Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |