一种神经网络中图像缩放优化方法与装置与流程

文档序号:35372877发布日期:2023-09-08 08:48阅读:27来源:国知局
一种神经网络中图像缩放优化方法与装置与流程

本发明涉及神经网络领域,特别是涉及一种神经网络中图像缩放优化方法与装置。


背景技术:

1、现有技术中,目前ai(artificial intelligence,人工智能)芯片上都是固定的卷积加速模块,可用于其他运算的算子模块较少。但由于当前神经网络不再是固定的“卷积+激活函数+池化”模块,往往会包含一些其他算子作为运算方法,神经网络中包含这些不常见算子,导致其在ai芯片上无法部署和推理,而用于进行图像缩放的缩放算子就是其中一种,该算子无法直接在ai芯片上无法部署和推理。

2、鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。


技术实现思路

1、本发明要解决的技术问题是神经网络上的缩放算子无法在ai芯片上进行部署与推理。

2、本发明实施例采用如下技术方案:

3、第一方面,一种神经网络中图像缩放优化方法,包括:

4、遍历神经网络模型中所有的节点,获取其中的缩放算子;

5、将获取到的所述缩放算子的输入数据形状和输出数据形状进行对比;

6、当所述输入数据形状的高大于所述输出数据形状的高,且所述输入数据形状的宽大于所述输出数据形状的宽时,将所述缩放算子转换成池化算子;

7、当所述输入数据形状的高小于所述输出数据形状的高,且所述输入数据形状的宽小于所述输出数据形状的宽时,根据所述缩放算子的计算类型以及输入数据形状的高和宽的值,将所述缩放算子转换成相应的卷积算子。

8、优选的,所述当所述输入数据形状的高大于所述输出数据形状的高,且所述输入数据形状的宽大于所述输出数据形状的宽时,将所述缩放算子转换成池化算子,具体包括:

9、判断所述缩放算子是否对齐到原始数据的边角元素,根据判断结果得到缩放算子的宽和高的缩放尺度;

10、创建池化算子,根据所述缩放尺度设定所述池化算子的属性值;

11、将所述池化算子的输入输出设置为所述缩放算子的输入输出,将所述缩放算子删除,并将所述池化算子替换所述缩放算子。

12、优选的,所述判断所述缩放算子是否对齐到原始数据的边角元素,根据判断结果得到缩放算子的宽和高的缩放尺度,具体包括:

13、当所述缩放算子对齐到原始数据的边角元素时,所述缩放算子的宽和高的缩放尺度的计算公式为:

14、h scale=(in_h-1)/(out_h-1);

15、w scale=(in_w-1)/(out_w-1);

16、当所述缩放算子未对齐到原始数据的边角元素时,所述缩放算子的宽和高的缩放尺度的计算公式为:

17、h scale=in_h/out_h;

18、w scale=in_w/out_w;

19、其中,h scale为缩放算子的高的缩放尺度,w scale为缩放算子的宽的缩放尺度,in_h为缩放算子输入数据形状的高,in_w为缩放算子输入数据形状的宽,out_h为缩放算子输出数据形状的高,out_w为缩放算子输出数据形状的宽。

20、优选的,所述根据所述缩放算子的计算类型以及输入数据形状的高和宽的值,将所述缩放算子转换成相应的卷积算子,具体包括:

21、当所述缩放算子的计算类型为最邻近插值或者双线性插值,并且输入数据形状的高和输入数据形状的宽均为1时,创建卷积算子以及卷积核并设定卷积核参数,将所述卷积核插入至ai模型中,并将所述缩放算子替换为相应的卷积算子;

22、当所述缩放算子的计算类型为双线性插值,并且输入数据形状的高或输入数据形状的宽不为1时,获取缩放算子的宽和高的缩放尺度,创建卷积算子以及卷积核,根据所述缩放尺度进行遍历,获取相应的卷积核参数,将所述卷积核插入至ai模型中,并将所述缩放算子替换为相应的卷积算子。

23、优选的,所述当所述缩放算子的计算类型为最邻近插值或者双线性插值,并且输入数据形状的高和输入数据形状的宽均为1时,创建卷积算子以及卷积核并设定卷积核参数,将所述卷积核插入至ai模型中,并将所述缩放算子替换为相应的卷积算子,具体包括:

24、获取所述缩放算子的宽和高的缩放尺度;

25、创建卷积算子,根据所述缩放尺度设定所述卷积算子的属性值;

26、获取所述缩放算子的通道数p1,新建卷积核,根据所述缩放算子的通道数p1以及所述缩放算子的宽和高的缩放尺度,确定所述卷积核的形状;

27、将所述卷积核的形状中的参数进行初始化,获取卷积核参数;

28、将所述卷积核参数插入至ai模型中,将所述缩放算子删除,将所述卷积算子替换所述缩放算子,并将进行替换的卷积算子的kernel输入设定为所述卷积核参数。

29、优选的,所述获取所述缩放算子的宽和高的缩放尺度,具体包括:

30、所述缩放算子的宽和高的缩放尺度的计算公式为:

31、h scale=in_h/out_h;

32、w scale=in_w/out_w;

33、其中,h scale为缩放算子的高的缩放尺度,w scale为缩放算子的宽的缩放尺度,in_h为缩放算子输入数据形状的高,in_w为缩放算子输入数据形状的宽,out_h为缩放算子输出数据形状的高,out_w为缩放算子输出数据形状的宽。

34、优选的,所述当所述缩放算子的计算类型为双线性插值,并且输入数据形状的高或输入数据形状的宽不为1时,获取缩放算子的宽和高的缩放尺度,创建卷积算子,根据所述缩放尺度进行遍历,获取相应的卷积核参数,将所述卷积核参数插入至ai模型中,并将所述缩放算子替换为相应的卷积算子,具体包括:

35、判断所述缩放算子是否对齐到原始数据的边角元素,根据判断结果得到缩放算子的宽和高的缩放尺度;

36、获取所述缩放算子的通道数p2,创建卷积算子,根据所述缩放尺度和所述通道数p2设定所述卷积算子的属性值;

37、新建卷积核,根据所述缩放算子的通道数p以及所述缩放算子的宽和高的缩放尺度,确定所述卷积核的形状,分别遍历小于通道数p、小于缩放算子的宽的缩放尺度以及小于缩放算子的高的缩放尺度的数值,得到所述卷积核的形状的参数,获取卷积核参数;

38、将所述卷积核参数插入至ai模型中,将所述缩放算子删除,并将所述卷积算子替换所述缩放算子,并将所述卷积算子的kernel输入设定为所述卷积核参数。

39、优选的,所述分别遍历小于通道数p、小于缩放算子的宽的缩放尺度以及小于缩放算子的高的缩放尺度的数值,得到所述卷积核的形状的参数,具体包括:

40、依据遍历得到的结果,计算得到缩放因子、中间变量和索引中间值,依据所述缩放因子、中间变量和索引中间值计算得到所述卷积核的形状的参数。

41、优选的,当所述输入数据形状的高等于所述输出数据形状的高,且所述输入数据形状的宽等于所述输出数据形状的宽时,将所述缩放算子于ai模型中删除。

42、第二方面,一种神经网络中图像缩放优化装置,包括至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行所述的神经网络中图像缩放优化方法。

43、本发明实施例提供一种神经网络中图像缩放优化方法与装置,通过遍历神经网络中所有的节点,获取所有的缩放算子,并根据缩放算子的缩放状态,即缩放算子对于图像是放大还是缩小,当缩放算子对于图像放大时,将缩放算子转换为池化算子,当缩放算子相对于图像缩小时,将缩放算子转换为卷积算子,由于卷积算子和池化算子能够在ai芯片上实现部署与推理,因此通过缩放算子的转换,实现部分神经网络上的节点于ai芯片上的部署与推理。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1