定位芯片运行错误的方法及装置制造方法及图纸

技术编号:22387208 阅读:67 留言:0更新日期:2019-10-29 06:28
本发明专利技术提供了一种定位芯片运行错误的方法及装置,其中,定位芯片运行错误的方法包括:在开发板生成神经网络模型;通过开发板上的芯片运行的第一程序加载神经网络模型,得到第一测试模型,在第一程序运行第一测试模型对输入数据进行预测时,生成第一运行日志,通过利用开发板的环境运行的第二程序加载神经网络模型,得到第二测试模型,并且在第二程序运行第二测试模型对输入数据进行预测时,生成第二运行日志;以及根据第一运行日志和第二运行日志,定位芯片运行的第一测试模型的错误,能够高效率、高精度、自动化的定位芯片运行错误的原因,大大减小开发周期。

【技术实现步骤摘要】
定位芯片运行错误的方法及装置
本专利技术涉及神经网络开发
,具体涉及一种自动快速定位芯片运行错误的方法及装置。
技术介绍
人工神经网络是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。神经网络在系统辨别、模式识别、智能控制等领域有着广泛而吸引人的前景,是目前最为火热的研究方向-深度学习的基础。但是,开发神经网络时,芯片解析神经网络模型的参数时出现错误往往导致芯片运行错误,此时,开发者需要逐一检查神经网络模型的所有解析参数,以确定错误层及错误参数的位置,进而消除错误,工作量大,花费开发者大量时间。
技术实现思路
有鉴于此,本专利技术实施例提供了一种定位芯片运行错误的方法及装置,能够高效率、高精度、自动化的定位芯片运行错误的原因,大大减小开发周期。根据本专利技术实施例的第一方面,提供一种定位芯片运行错误的方法,包括:在开发板生成神经网络模型;通过开发板上的芯片运行的第一程序加载神经网络模型,得到第一测试模型,在第一程序运行第一测试模型对输入数据进行预测时,生成第一运行日志,通过利用开发板的环境运行的第二程序加载神经网络模型,得到第二测试模型,并且在第二程序运行第二测试模型对输入数据进行预测时,生成第二运行日志;根据第一运行日志和第二运行日志,定位芯片运行的第一测试模型的错误。在本专利技术的一个实施例中,上述通过开发板上的芯片运行的第一程序加载神经网络模型,得到第一测试模型,包括:通过开发板上的芯片运行的第一程序解析第一测试模型,得到第一测试模型的参数,其中,上述通过利用开发板的环境运行的第二程序加载神经网络模型,得到第二测试模型,包括:通过利用开发板的环境运行的第二程序解析第二测试模型,得到第二测试模型的参数。在本专利技术的一个实施例中,上述第一运行日志和第二运行日志分别包括第一测试模型和第二测试模型的每一层的运行结果,其中,上述根据第一运行日志和第二运行日志,定位芯片运行的第一测试模型的错误,包括:通过比较第一测试模型和第二测试模型的每一层的运行结果,定位第一测试模型的出错层。在本专利技术的一个实施例中,上述第一运行日志和第二运行日志分别包括第一测试模型和第二测试模型的每一层的参数,其中,该定位芯片运行错误的方法还包括:通过比较第一测试模型和第二测试模型的出错层的参数,定位第一测试模型的出错层的出错参数。在本专利技术的一个实施例中,上述第一运行日志和第二运行日志分别包括第一测试模型和第二测试模型的每一层的参数,其中,上述在开发板生成神经网络模型,包括:在开发板上将原始神经网络模型转换成神经网络模型,其中该定位芯片运行错误的方法还包括:在开发板上将原始神经网络模型转换成神经网络模型时,生成日志参数文件,该日志参数文件包括神经网络模型的每个层的参数;其中,上述根据第一运行日志和第二运行日志,定位芯片运行的第一测试模型的错误,包括:通过比较第一测试模型的出错层的参数与日志参数文件中与出错层对应的层的参数,定位第一测试模型的出错层的出错参数。在本专利技术的一个实施例中,该定位芯片运行错误的方法还包括:通过比较第一测试模型的出错层的参数与日志参数文件中与出错层对应的层的参数,确定出错参数对应的正确参数。在本专利技术的一个实施例中,上述参数包括神经网络模型的结构、权重、偏置和损失函数中的至少一种。在本专利技术的一个实施例中,上述开发板包括神经网络处理器NPU开发板,芯片包括深度学习芯片,第一程序包括嵌入式的软件开发工具包SDK可执行程序,第二程序包括在嵌入式环境下运行的仿真程序。根据本专利技术实施例的第二方面,提供一种定位芯片运行错误的装置,包括:第一生成模块,用于在开发板生成神经网络模型;第二生成模块,用于通过开发板上的芯片运行的第一程序加载神经网络模型,得到第一测试模型,在第一程序运行第一测试模型对输入数据进行预测时,生成第一运行日志,通过利用开发板的环境运行的第二程序加载神经网络模型,得到第二测试模型,并且在第二程序运行第二测试模型对输入数据进行预测时,生成第二运行日志;以及定位模块,用于根据第一运行日志和第二运行日志,定位芯片运行的第一测试模型的错误。根据本专利技术实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,可执行指令被处理器执行时实现如上所述的定位芯片运行错误的方法。根据本专利技术实施例提供的技术方案,分别通过开发板上的芯片运行的第一程序和利用开发板的环境运行的第二程序加载神经网络模型,运行该神经网络模型分别得到第一运行日志和第二运行日志,并根据第一运行日志和第二运行日志的比较结果定位芯片运行的模型的错误,可以高效率、高精度、自动化的确定芯片运行错误的原因,不必逐一检查芯片运行的神经网络模型的所有参数,便于开发者节约大量时间,减小开发周期。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1所示为本专利技术一实施例提供的定位芯片运行错误的方法的流程示意图。图2所示为本专利技术另一实施例提供的定位芯片运行错误的方法的流程示意图。图3所示为本专利技术一实施例提供的定位芯片运行错误的装置的框图。图4所示为本专利技术另一实施例提供的定位芯片运行错误的装置的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1所示为本专利技术一实施例提供的定位芯片运行错误的方法的流程示意图。例如,该方法可以由开发板执行。如图1所示,该方法包括如下内容。S110:在开发板生成神经网络模型。应当理解,神经网络模型可以是由开发人员直接在开发板生成的神经网络模型,也可以是在开发板上对在其它设备上生成的原始神经网络模型进行模型转换生成的神经网络模型,本专利技术对此不作限定。例如,可以将在GPU上训练的caffe模型转换成开发板上的NPU芯片的神经网络模型。另外,本专利技术对神经网络模型的具体类型不作限定,例如,神经网络模型可以是卷积神经网络模型,也可以是循环神经网络模型、深度神经网络模型等。神经网络模型可以包括输入层、中间层和输出层等,例如,卷积神经网络模型可以包括输入层、卷积层、池化层、全连接层等。S120:通过开发板上的芯片运行的第一程序加载神经网络模型,得到第一测试模型,在第一程序运行第一测试模型对输入数据进行预测时,生成第一运行日志,通过利用开发板的环境运行的第二程序加载神经网络模型,得到第二测试模型,并且在第二程序运行第二测试模型对输入数据进行预测时,生成第二运行日志。应当理解,第一测试模型可以是第一程序运行的神经网络模型,第二测试模型可以是第二程序运行的同一神经网络模型,本专利技术对此不作限定。开发板包括ARM开发板、FPG本文档来自技高网...

【技术保护点】
1.一种定位芯片运行错误的方法,其特征在于,包括:在开发板生成神经网络模型;通过所述开发板上的芯片运行的第一程序加载所述神经网络模型,得到第一测试模型,在所述第一程序运行所述第一测试模型对输入数据进行预测时,生成第一运行日志,通过利用所述开发板的环境运行的第二程序加载所述神经网络模型,得到第二测试模型,并且在所述第二程序运行所述第二测试模型对所述输入数据进行预测时,生成第二运行日志;以及根据所述第一运行日志和所述第二运行日志,定位所述芯片运行的所述第一测试模型的错误。

【技术特征摘要】
1.一种定位芯片运行错误的方法,其特征在于,包括:在开发板生成神经网络模型;通过所述开发板上的芯片运行的第一程序加载所述神经网络模型,得到第一测试模型,在所述第一程序运行所述第一测试模型对输入数据进行预测时,生成第一运行日志,通过利用所述开发板的环境运行的第二程序加载所述神经网络模型,得到第二测试模型,并且在所述第二程序运行所述第二测试模型对所述输入数据进行预测时,生成第二运行日志;以及根据所述第一运行日志和所述第二运行日志,定位所述芯片运行的所述第一测试模型的错误。2.如权利要求1所述的定位芯片运行错误的方法,其特征在于,所述通过所述开发板上的芯片运行的第一程序加载所述神经网络模型,得到第一测试模型,包括:通过所述开发板上的芯片运行的第一程序解析所述第一测试模型,得到所述第一测试模型的参数,其中,所述通过利用所述开发板的环境运行的第二程序加载所述神经网络模型,得到第二测试模型,包括:通过利用所述开发板的环境运行的第二程序解析所述第二测试模型,得到所述第二测试模型的参数。3.如权利要求2所述的定位芯片运行错误的方法,其特征在于,所述第一运行日志和所述第二运行日志分别包括所述第一测试模型和所述第二测试模型的每一层的运行结果,其中,所述根据所述第一运行日志和所述第二运行日志,定位所述芯片运行的所述第一测试模型的错误,包括:通过比较所述第一测试模型和所述第二测试模型的每一层的运行结果,定位所述第一测试模型的出错层。4.如权利要求3所述的定位芯片运行错误的方法,其特征在于,所述第一运行日志和所述第二运行日志分别包括所述第一测试模型和所述第二测试模型的每一层的参数,其中,所述方法还包括:通过比较所述第一测试模型和所述第二测试模型的所述出错层的参数,定位所述第一测试模型的所述出错层的出错参数。5.如权利要求3所述的定位芯片运行错误的方法,其特征在于,所述第一运行日志和所述第二运行日志分别包括所述第一测试模型和所述第二测试模型的每一层的参数,其中,所述在开发板生成神经网络模...

【专利技术属性】
技术研发人员:张韵东余洋徐祥
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1