一种快速推理方法、装置及设备制造方法及图纸

技术编号:38385571 阅读:15 留言:0更新日期:2023-08-05 17:41
本申请提供一种快速推理方法、装置及设备,涉及人工智能技术领域,用于解决通用框架TFLite兼容性较差的问题。该方法包括:根据当前芯片类型与架构,对TFLite模型进行环境配置,获得配置后的TFLite模型;对所述配置后的TFLite模型进行解析,获取Tensor信息与Node信息;根据所述Tensor信息与所述Node信息,构建目标有向图;将待推理数据输入至所述目标有向图中进行推理,获取推理结果。获取推理结果。获取推理结果。

【技术实现步骤摘要】
一种快速推理方法、装置及设备


[0001]本申请涉及人工智能
,提供一种快速推理方法、装置及设备。

技术介绍

[0002]目前,随着人工智能(Artificial Intelligence,AI)的快速发展,许多大公司都推出了AI专用的计算芯片来加速AI的运算,但是,随着硬件设计和架构的快速迭代,通用框架与AI专用芯片之间的适配性越来越差,例如,通用框架TFLite。
[0003]通用框架TFLite是谷歌Google推出的一种用于设备端推理的开源深度学习框架,它支持大部分设备的图形处理器(Graphic Processing Unit,GPU)运算,以及谷歌Google、苹果Apple和高通Qualcomm的专用芯片运算。但是因为芯片架构之间的差异,通用框架TFLite目前并不支持华为麒麟Kirin的AI专用计算单元——网络处理器(neural

network process units,NPU),而且随着高通芯片架构升级,通用框架TFLite不再支持高通的AI专用计算单元HTP——六边形张量处理器(Hexagon Tensor Processor,HTP)。
[0004]进而,由于当前的通用框架TFLite不再支持高通的AI专用计算单元HTP。因此,当要使用高通的HTP时,就只能使用高通的模型框架SNPE。然而,由于模型框架SNPE相对较新,且很多前人的工作都是基于其他框架进行开发的,进而,导致通用框架TFLite并不适用于某些专用芯片,使得通用框架TFLite兼容性较差
[0005]因此,如何提高通用框架TFLite的兼容性是一个亟待解决的问题。

技术实现思路

[0006]本申请提供一种快速推理方法、装置及设备,用于解决通用框架TFLite兼容性较差的问题。
[0007]一方面,提供一种快速推理方法,所述方法包括:根据当前芯片类型与架构,对TFLite模型进行环境配置,获得配置后的TFLite模型;对所述配置后的TFLite模型进行解析,获取Tensor信息与Node信息;根据所述Tensor信息与所述Node信息,构建目标有向图;将待推理数据输入至所述目标有向图中进行推理,获取推理结果。
[0008]一方面,提供一种快速推理装置,所述装置包括:环境配置单元,用于根据当前芯片类型与架构,对TFLite模型进行环境配置,获得配置后的TFLite模型;信息获取单元,用于对所述配置后的TFLite模型进行解析,获取Tensor信息与Node信息;目标有向图构建单元,用于根据Tensor信息与Node信息,构建目标有向图;推理结果获取单元,用于将待推理数据输入至所述目标有向图中进行推理,获取推理结果。
[0009]可选的,所述环境配置单元,还用于:若所述当前芯片类型在预设的第一芯片类型范围内,且所述架构为预设的第一架构,则使用神经网络架构Hexagon NN对TFLite模型进行环境配置,获得配置后的TFLite模型;若所述当前芯片类型在预设的第二芯片类型范围内,且所述架构为预设的第二架构,则使用量子神经网络架构QNN对TFLite模型进行环境配置,获得配置后的TFLite模型;若所述当前芯片类型在预设的第三芯片类型范围内,且所述架构为预设的第三架构,则使用华为架构HiAI对TFLite模型进行环境配置,获得配置后的TFLite模型。
[0010]可选的,所述装置还包括数据拷贝单元,所述数据拷贝单元,用于:若所述当前芯片类型在预设的第一芯片类型范围内,且所述架构为预设的第一架构,则将库libhexagon_nn_skel.so、库libhexagon_nn_skel_v65.so以及库libhexagon_nn_skel_v66.so拷贝到当前设备中;若所述当前芯片类型在预设的第二芯片类型范围内,且所述架构为预设的第二架构,则将库libQnnHtpPrepare.so和所述架构的库拷贝到当前设备中;若所述当前芯片类型在预设的第三芯片类型范围内,且所述架构为预设的第三架构,则将库libhiai.so、库libhiai_enhance.so以及库libhiai_hcl_model_runtime.so拷贝到当前设备中。
[0011]可选的,所述目标有向图构建单元,还用于:根据所述Tensor信息与所述Node信息,构建第一有向图;创建一个空图,将所述第一有向图中的输入层和输出层添加到所述空图中,并将所述Tensor信息作为参数传入,获得第二有向图;根据所述Node信息按序创建节点,并将所述节点添加到所述第二有向图中,获得所述目标有向图。
[0012]可选的,所述目标有向图构建单元,还用于:根据所述Tensor信息与所述Node信息,以各个Tensor为点,各个Node为边,进行拓扑排序,构建所述第一有向图;其中,并联分支按照Node的数量以及Node的类别优先级进行排序。
[0013]可选的,所述目标有向图构建单元,还用于:根据使用的SDK进行层创建,获取所述配置后的TFLite模型的各个Tensor 对应的层信息;则,所述根据所述Node信息按序创建节点,并将所述节点添加到所述第二有向图中,获得所述目标有向图,包括:根据所述Node信息按序创建节点,并将所述节点添加到所述第二有向图中;将所述各个Tensor 对应的层信息作为参数传入,并根据所述Tensor信息调整所述节点参数,获得所述目标有向图。
[0014]可选的,所述目标有向图构建单元,还用于:若所述SDK中没有与任一 Node对应的节点,则在所述第二有向图中设置一个空节点。
[0015]可选的,所述目标有向图构建单元,还用于:
在节点遍历过程中,确定TFLite Node序列是否满足预设的优化条件;若确定TFLite Node序列满足预设的优化条件,则将所述TFLite Node序列替换为预设的优化算子库中的优化序列。
[0016]一方面,提供一种快速推理的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
[0017]一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
[0018]本申请实施例中,首先,可以根据当前芯片类型与架构,来对TFLite模型进行环境配置,以获得配置后的TFLite模型,然后,可以对该配置后的TFLite模型进行解析,以获取Tensor信息与Node信息,进一步的,可以根据Tensor信息与Node信息,构建目标有向图,最后,用户可以将待推理数据输入至该目标有向图中进行推理,以获取推理结果。因此,在本申请实施例中,由于针对不同的芯片类型与架构,会对TFLite模型进行相应的环境配置,以使TFLite模型能够适用于不同的专用芯片与架构,而无需针对不同的专用芯片去特意调用专用模型框架,大大提高了TFLite模型的兼容性,降低了TFLite用户的学习成本,此外,由于还本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种快速推理方法,其特征在于,所述方法包括:根据当前芯片类型与架构,对TFLite模型进行环境配置,获得配置后的TFLite模型;对所述配置后的TFLite模型进行解析,获取Tensor信息与Node信息;根据所述Tensor信息与所述Node信息,构建目标有向图;将待推理数据输入至所述目标有向图中进行推理,获取推理结果。2.如权利要求1所述的方法,其特征在于,所述根据当前芯片类型与架构,对TFLite模型进行环境配置,获得配置后的TFLite模型,包括:若所述当前芯片类型在预设的第一芯片类型范围内,且所述架构为预设的第一架构,则使用神经网络架构Hexagon NN对TFLite模型进行环境配置,获得配置后的TFLite模型;若所述当前芯片类型在预设的第二芯片类型范围内,且所述架构为预设的第二架构,则使用量子神经网络架构QNN对TFLite模型进行环境配置,获得配置后的TFLite模型;若所述当前芯片类型在预设的第三芯片类型范围内,且所述架构为预设的第三架构,则使用华为架构HiAI对TFLite模型进行环境配置,获得配置后的TFLite模型。3.如权利要求1所述的方法,其特征在于,在对所述配置后的TFLite模型进行解析,获取Tensor信息与Node信息之前,所述方法还包括:若所述当前芯片类型在预设的第一芯片类型范围内,且所述架构为预设的第一架构,则将库libhexagon_nn_skel.so、库libhexagon_nn_skel_v65.so以及库libhexagon_nn_skel_v66.so拷贝到当前设备中;若所述当前芯片类型在预设的第二芯片类型范围内,且所述架构为预设的第二架构,则将库libQnnHtpPrepare.so和所述架构的库拷贝到当前设备中;若所述当前芯片类型在预设的第三芯片类型范围内,且所述架构为预设的第三架构,则将库libhiai.so、库libhiai_enhance.so以及库libhiai_hcl_model_runtime.so拷贝到当前设备中。4.如权利要求1所述的方法,其特征在于,所述根据Tensor信息与Node信息,构建目标有向图,包括:根据所述Tensor信息与所述Node信息,构建第一有向图;创建一个空图,将所述第一有向图中的输入层和输出层添加到所述空图中,并将所述Tensor信息作为参数传入,获得第二有向图;根据所述Node信息按序创建节点,并将所述节点添加到所述第二有...

【专利技术属性】
技术研发人员:林云孙晓刚
申请(专利权)人:成都阿加犀智能科技有限公司
类型:发明
国别省市:

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

1