一种模型可视化方法、系统及相关设备技术方案

技术编号:34630312 阅读:34 留言:0更新日期:2022-08-24 15:01
本申请提供了一种模型可视化方法、系统及相关设备,该方法可包括以下步骤:提供模型输入接口,模型输入接口用于获取用户输入的模型数据,基于模型数据进行分段,获得多个分段模型数据,分段读取多个分段模型数据至内存进行可视化渲染,向用户显示当前的分段模型数据的可视化渲染结果,从而模型可视化渲染过程中的内存开销,避免出现卡死的问题,提高开发人员的开发效率。的开发效率。的开发效率。

【技术实现步骤摘要】
一种模型可视化方法、系统及相关设备


[0001]本申请涉及人工智能(Artificial Intelligence,AI)领域,尤其涉及一种模型可视化方法、系统及相关设备。

技术介绍

[0002]AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
[0003]通常情况下,开发人员搭建好AI模型后,需要可视化查看AI模型,根据AI模型的可视化结果对模型架构进行分析、调整等等,模型可视化是离线模型分析、调测、优化过程当中一个非常重要的环节。但是随着科学技术的不断发展,AI模型的规模也在不停增长,1G大小以上的超大模型逐渐增多,该种超大模型的可视化过程需要极大的内存开销,需要等待很长时间才可看到模型的可视化结果,甚至会出现内存溢出(out of memory,OOM)或卡死的问题,降低开发人员的开发效率。

技术实现思路

[0004]本申请提供了一种模型可视化方法、系统及相关设备,用于解决模型可视化过程需要极大内存开销,用户需要等待很长时间才可看到模型可视化结果的问题。
[0005]第一方面,提供了一种模型可视化方法,该方法包括以下步骤:提供模型输入接口,该模型输入接口用于获取用户输入的模型数据,基于模型数据进行分段,获得多个分段模型数据,分段读取多个分段模型数据至内存进行可视化渲染,向用户显示当前的分段模型数据的可视化渲染结果。
[0006]实施第一方面描述的方法,可以将模型数据分段为多个分段模型数据,分段读取多个分段模型数据至内存进行可视化渲染,可以避免由于一次性读取模型数据时发生的内存激增问题,分段进行可视化渲染可以降低模型可视化渲染过程中的内存开销,避免出现卡死的问题,提高开发人员的开发效率。
[0007]在第一方面的一种可能的实现方式中,可以在向用户显示第一分段模型数据的可视化渲染结果时,读取多个分段模型数据中的第二分段模型数据至内存来替换第一分段模型数据,第一分段模型数据和第二分段模型数据是多个分段模型数据中不同的分段模型数据。
[0008]具体实现中,不同分段模型数据用于描述不同网络层。比如基于双向意识流的机器理解(bi

directional attention flow for machine comprehension,BiDAF)网络包括7个网络层,那么可以将该网络的模型数据分段为7个分段模型数据,应理解,上述举例用于
说明,本申请不作具体限定。
[0009]实施上述实现方式,对第一分段模型数据进行渲染时,同时读取第二分段模型数据至内存对第一分段模型数据进行替换,使得分段模型数据的读取和渲染同时进行,从而提高渲染效率,降低模型可视化渲染过程中的内存开销,并且,用户在查看第一网络层的可视化渲染结果时,第二网络层的第二分段模型数据正在进行可视化渲染,以此类推,从而降低用户查看可视化渲染加过的等待时间,提高用户的使用体验。
[0010]在第一方面的一种可能的实现方式中,可以按顺序读取多个分段模型数据中的第一分段模型数据和第二分段模型数据至内存。其中,顺序可以为模型数据的网络层的连接顺序,举例来说,先读取第一层网络的第一分段模型数据,再读取第二层网络的第二分段模型数据,以此类推,直至全部网络层的分段模型数据被读取完毕;顺序可以为用户输入的读取顺序,比如用户在查看模型可视化结果时,想先看最后一个网络层的可视化结果,那么也可以先读取最后一个网络层的分段模型数据进行渲染,本申请不作具体限定。
[0011]具体实现中,上述读取顺序可以是用户通过显示界面输入的,应理解,在根据内存中的分段模型数据进行可视化渲染之前,可以将可视化渲染结果与显示界面进行绑定,比如界面1显示第一网络层的可视化渲染结果,界面2显示第二网络层的可视化渲染结果等等,这样,在生成第一网络层的可视化渲染结果后,可以将其显示在界面1,生成第二网络层的可视化渲染结果后,可以将其显示在界面2,以此类推,这里不一一展开赘述。
[0012]因此,当按照网络层的连接顺序读取各个网络层的分段模型数据至内存时,用户可以在显示界面从上向下或者从左到右拖动滚动条,依次查看各个网络层的可视化渲染结果;当按照用户输入的读取顺序依次读取每个网络层的分段模型数据至内存时,这里的读取顺序可以是用户通过上述显示界面输入的。举例来说,若用户在显示界面将滚动条直接拖至用于显示第三个网络层的界面3,响应于用户操作,可读取第三个网络层的分段模型数据至内存,然后对分段模型数据进行渲染并将可视化渲染结果显示在界面3中。值得注意的是,在对第三个网络层的分段模型数据进行渲染时,若用户没有将滚动条拉动到其他网络层的界面,可以继续按照网络层的连接顺序读取其他网络层,比如第四个网络层的分段模型数据至内存;若用户将滚动条拉动到其他网络层的界面,比如界面1,可以读取第一个网络层的分段模型数据至内存,从而保证分段模型数据的读取和渲染同时进行,提高渲染效率,降低内存占用,避免OOM情况的产生。
[0013]实施上述实现方式,通过网络层的连接顺序或者用户输入的读取顺序分段读取多个分段模型数据至内存进行可视化渲染,使得用户可灵活按照业务需求查阅模型数据的可视化渲染结果,且操作方式十分便捷,直接拖拉显示界面中的滚动条即可,并且由于分段渲染,可以降低用户等待可视化结果显示的时间,提高用户的使用体验。
[0014]在第一方面的一种可能的实现方式中,可以将模型数据转换为模型文件,模型文件用于描述模型数据中的各个算子,然后根据模型文件对模型数据进行分段,获得多个分段模型数据。应理解,模型文件以统一的格式对各个网络层进行描述,每个网络层都有各个算子的参数信息和上下文信息,根据该参数信息和上下文信息,可以按照网络层对模型文件进行分段,获得多个分段模型数据。
[0015]具体实现中,上述模型文件可以是JavaScript对象标记(JavaScript Object Notation,json)文件,其中,json文件的可以以键值对(key value,KV)和JsonArray的格式
描述模型每个网络层的各个算子。上述json文件可通过张量编译器获得,比如昇腾系统中的ATC(Ascend tensor compiler,ATC)工具,该工具可以将用户输入的模型数据转换为json格式的文件,应理解,上述举例用于说明,上述模型文件还可以是其他能够以统一格式描述各个网络层和算子的格式文件,本申请也可通过其他AI平台(比如Tensorflow、MindSpore等等)对用户输入的模型数据进行格式转换,这里不一一展开举例。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型可视化方法,其特征在于,所述方法包括:提供模型输入接口,所述模型输入接口用于获取用户输入的模型数据;基于所述模型数据进行分段,获得多个分段模型数据,分段读取所述多个分段模型数据至内存进行可视化渲染,向用户显示当前的分段模型数据的可视化渲染结果。2.根据权利要求1所述的方法,其特征在于,所述分段读取所述多个分段模型数据至内存进行可视化渲染,向用户显示当前的分段模型数据的可视化渲染结果包括:在向所述用户显示第一分段模型数据的可视化渲染结果时,读取所述多个分段模型数据中的第二分段模型数据至内存来替换所述第一分段模型数据,所述第一分段模型数据和所述第二分段模型数据是所述多个分段模型数据中不同的分段模型数据。3.根据权利要求1或2所述的方法,其特征在于,所述分段读取所述多个分段模型数据至内存进行可视化渲染包括:按顺序读取所述多个分段模型数据至内存,所述顺序为所述模型数据的网络层的连接顺序或者用户输入的读取顺序。4.根据权利要求1至3任一权利要求所述的方法,其特征在于,所述基于所述模型数据进行分段,获得多个分段模型数据包括:将所述模型数据转换为模型文件,所述模型文件用于描述所述模型数据中的各个算子;根据所述模型文件对所述模型数据进行分段,获得所述多个分段模型数据。5.根据权利要求2至4中任一权利要求所述的方法,其特征在于,所述读取所述多个分段模型数据中的第二分段模型数据至内存来替换所述第一分段模型数据包括:从所述第二分段模型数据过滤出可视化渲染所需的数据,读取过滤出的可视化渲染所需的数据至内存,替换所述第一分段模型数据。6.根据权利要求1至5任一权利要求所述的方法,其特征在于,不同分段模型数据用于描述不同网络层。7.一种模型可视化系统,其特征在于,...

【专利技术属性】
技术研发人员:张有陵何剑
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1