System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及机器学习,尤其涉及一种算子的内核调用信息的获取方法、终端设备及存储介质。
技术介绍
1、随着人工智能
的发展,神经网络模型的应用场景越来越广泛,对于神经网络模型的需求也随之增加,神经网络训练过程中需要对其性能进行分析。
2、目前,可以通过pytorch profiler对神经网络模型的性能进行分析,并且可以通过pytorch profiler tensorboard plugin(简称为“插件”)对pytorch profiler性能数据进行解析处理和可视化。
3、然而,申请人在实施过程发现,传统技术仅可以获取神经网络训练过程中的模型层面的内核调用信息,即整个神经网络模型训练过程聚合后的内核调用信息,无法直接获取细粒度的算子层级的内核调用信息,在多次神经网络训练过程的性能对比分析中,至少存在低效和人力成本高的问题。
技术实现思路
1、本申请实施例提供算子的内核调用信息的获取方法、终端设备及存储介质,用以达到降低人工资源成本的效果。
2、第一方面,本申请实施例提供一种算子的内核调用信息的获取方法,该方法包括:
3、获取针对神经网络模型的多个训练事件记录的多个目标格式数据;
4、基于各个目标格式数据,得到各训练事件对应用于表征算子调用关系的算子树;其中,算子树包括算子之间以及算子与内核之间的调用关系;
5、根据各训练事件分别对应的算子树的调用关系,得到各训练事件中每个算子的内核调用信息。
7、响应于用户触发的调用信息显示请求,在操作视觉页面中对比展示各训练事件中每个算子的内核调用信息。
8、在一种可能的实施方式中,内核调用信息包括算子的内核总调用次数、算子调用的内核名称信息和算子调用内核的调用次数;根据各训练事件分别对应的算子树的调用关系,得到各训练事件中每个算子的内核调用信息,包括:
9、根据各训练事件分别对应的算子树的调用关系,得到各训练事件中每个算子调用的各个内核的内核名称信息、每个算子调用各内核的调用次数以及每个算子的内核总调用次数;
10、在操作视觉页面中对比展示各训练事件中每个算子的内核调用信息,包括:
11、在操作视觉页面中,对比展示各训练事件中每个算子的内核总调用次数,并展示多个训练事件中每个算子调用内核的内核信息展示控件;
12、响应于对至少一个内核信息展示控件的触发操作,展示内核信息展示控件对应的算子调用的各内核的内核名称信息以及各内核的调用次数。
13、在一种可能的实施方式中,响应于用户触发的调用信息显示请求,在操作视觉页面中对比展示各训练事件中每个算子的内核调用信息,包括:
14、响应于调用信息显示请求,获取以预设传输形式传输的、各训练事件中每个算子调用的各个内核对应的内核名称信息和每个算子调用各个内核的调用次数;
15、将以预设传输形式的、各训练事件中每个算子调用的各个内核对应的内核名称信息和调用次数进行格式转换,得到用于显示的内核调用信息;
16、在操作视觉页面中展示用于显示的各训练事件中每个算子的内核调用信息。
17、在一种可能的实施方式中,获取以预设传输形式传输的、各训练事件中每个算子调用的各个内核对应的内核名称信息和每个算子调用各个内核的调用次数,包括:
18、根据各训练事件中每个算子调用的各内核的内核名称信息和各内核的调用次数,得到针对每个算子的内核调用字典;
19、将内核调用字典进行数据转换,得到预设传输形式的每个算子调用的各内核的内核名称信息和各内核的调用次数。
20、在一种可能的实施方式中,响应于调用信息显示请求,获取以预设传输形式传输的、各训练事件中每个算子调用的各个内核对应的内核名称信息和每个算子调用各个内核的调用次数,包括:
21、响应于调用信息显示请求,将预设传输形式传输的、各训练事件中每个算子调用的各个内核对应的内核名称信息和各个内核的调用次数,传输到显示设备的前端模块。
22、在一种可能的实施方式中,预设传输形式为字符串形式,每个算子调用的各内核的内核名称信息以第一字符串列表的形式进行传输,每个算子调用的各内核的调用次数以对应于第一字符串列表的第二字符串列表的形式进行传输。
23、在一种可能的实施方式中,方法还包括:
24、响应于用户触发的调用信息显示请求,在操作视觉页面中展示各算子在各训练事件中的内核调用信息;内核调用信息包括算子调用内核的内核总调用次数;
25、在操作视觉页面中,展示各算子在多次训练事件之间的内核总调用次数差值;内核总调用次数差值是根据多个训练事件中的内核总调用次数得到的。
26、第二方面,本申请实施例提供一种终端设备,包括:存储器,处理器;
27、存储器存储计算机执行指令;
28、处理器执行存储器存储的计算机执行指令,使得处理器执行如上述的方法各种可能的实施方式。
29、第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述的方法各种可能的实施方式。
30、本申请实施例提供的算子的内核调用信息的获取方法、终端设备及存储介质,与传统技术相比,本申请通过构建算子树的同时聚合各算子调用内核的内核调用信息,能够有利于用户直接获取到每个算子调用内核的内核调用信息,以实现对多次神经网络训练过程(例如,后端迁移过程或深度学习框架版本升级过程)中的神经网络模型性能进行对比分析,从而降低了神经网络模型性能分析的人力资源成本,并提高了对神经网络模型性能分析的效率。
本文档来自技高网...【技术保护点】
1.一种算子的内核调用信息的获取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述内核调用信息包括算子的内核总调用次数、算子调用的内核名称信息和算子调用内核的调用次数;
4.根据权利要求2所述的方法,其特征在于,所述响应于用户触发的调用信息显示请求,在所述操作视觉页面中对比展示各所述训练事件中每个算子的内核调用信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述获取以预设传输形式传输的、各所述训练事件中每个算子调用的各个内核对应的内核名称信息和每个算子调用各个内核的调用次数,包括:
6.根据权利要求5所述的方法,其特征在于,所述响应于所述调用信息显示请求,获取以预设传输形式传输的、各所述训练事件中每个算子调用的各个内核对应的内核名称信息和每个算子调用各个内核的调用次数,包括:
7.根据权利要求6所述的方法,其特征在于,所述预设传输形式为字符串形式,每个算子调用的各所述内核的内核名称信息以第一字符串列表的形式进行传
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
9.一种终端设备,其特征在于,包括:存储器,处理器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8任一项所述的方法。
...【技术特征摘要】
1.一种算子的内核调用信息的获取方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述内核调用信息包括算子的内核总调用次数、算子调用的内核名称信息和算子调用内核的调用次数;
4.根据权利要求2所述的方法,其特征在于,所述响应于用户触发的调用信息显示请求,在所述操作视觉页面中对比展示各所述训练事件中每个算子的内核调用信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述获取以预设传输形式传输的、各所述训练事件中每个算子调用的各个内核对应的内核名称信息和每个算子调用各个内核的调用次数,包括:
6.根据权利要求5所述的方法,其特征在于,所述响应于所述...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:寒武纪昆山信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。