System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书涉及机器学习领域,尤其涉及一种基于布局传播的机器学习模型转化方法、装置以及设备。
技术介绍
1、随着计算机和互联网技术的发展,出现了多种类型的机器学习框架,而不同的环境对于各类型机器学习框架的支持能力也不同,这就导致一些已经训练完的机器学习模型,难以直接投入到新的环境中使用,或者在直接投入后容易出现异常问题。
2、为解决该问题,可以通过能够适应新环境的其他机器学习框架重新构造相同的机器学习模型,手动将原始机器学习模型中的参数层权重进行移植。或者,也可以先将原始机器学习模型转化为中间格式的模型,通过引入冗余算子将该中间格式的模型进行转化,得到目标机器学习模型。
3、基于此,需要更能够保证目标机器学习模型的生成效率和运行效率的方案。
技术实现思路
1、本说明书一个或多个实施例提供一种基于布局传播的机器学习模型转化方法、装置、设备以及存储介质,用以解决如下技术问题:需要更能够保证目标机器学习模型的生成效率和运行效率的方案。
2、为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
3、本说明书一个或多个实施例提供的一种基于布局传播的机器学习模型转化方法,包括:
4、将原始机器学习模型转化为框架转移中间模型;
5、对所述框架转移中间模型进行解析,得到包含多个算子的计算图;
6、在所述多个算子中确定具有隐式布局的算子;
7、判断所述确定的算子的隐式布局是否与其输入张量的布局变量一致,
8、若否,则对所述确定的算子的属性进行调整,以使其适应于所述输入张量;
9、根据所述调整后的算子,生成所述目标机器学习模型。
10、本说明书一个或多个实施例提供的一种基于布局传播的机器学习模型转化装置,包括:
11、转移模块,将原始机器学习模型转化为框架转移中间模型;
12、解析模块,对所述框架转移中间模型进行解析,得到包含多个算子的计算图;
13、确定模块,在所述多个算子中确定具有隐式布局的算子;
14、判断模块,判断所述确定的算子的隐式布局是否与其输入张量的布局变量一致,所述布局变量是根据目标机器学习模型的目标布局为所述输入张量显式地赋予的;
15、调整模块,若所述判断模块的判定结果为否,则对所述确定的算子的属性进行调整,以使其适应于所述输入张量;
16、生成模块,根据所述调整后的算子,生成所述目标机器学习模型。
17、本说明书一个或多个实施例提供的一种基于布局传播的机器学习模型转化设备,包括:
18、至少一个处理器;以及,
19、与所述至少一个处理器通信连接的存储器;其中,
20、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
21、将原始机器学习模型转化为框架转移中间模型;
22、对所述框架转移中间模型进行解析,得到包含多个算子的计算图;
23、在所述多个算子中确定具有隐式布局的算子;
24、判断所述确定的算子的隐式布局是否与其输入张量的布局变量一致,所述布局变量是根据目标机器学习模型的目标布局为所述输入张量显式地赋予的;
25、若否,则对所述确定的算子的属性进行调整,以使其适应于所述输入张量;
26、根据所述调整后的算子,生成所述目标机器学习模型。
27、本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
28、将原始机器学习模型转化为框架转移中间模型;
29、对所述框架转移中间模型进行解析,得到包含多个算子的计算图;
30、在所述多个算子中确定具有隐式布局的算子;
31、判断所述确定的算子的隐式布局是否与其输入张量的布局变量一致,所述布局变量是根据目标机器学习模型的目标布局为所述输入张量显式地赋予的;
32、若否,则对所述确定的算子的属性进行调整,以使其适应于所述输入张量;
33、根据所述调整后的算子,生成所述目标机器学习模型。
34、本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:
35、通过将隐式布局与在输入张量中显示地赋予布局变量进行对比,框架转移中间模型中的算子能够判断自身是否能够正确支持输入张量,以得到用户所需的目标布局的输出数据。若对比结果不一致,则调整算子的属性以适应与默认的隐私布局不一致的其他布局,通过将所有需要调整的算子的属性进行调整,实现了将框架转移中间模型转化为目标机器学习模型,整个过程相比于传统方案中的重新构造网络,更能够保证目标机器学习模型的生成效率。并且在生成过程中并未引入新的算子,相比于通过引入一些冗余算子(比如转置算子)来进行转化的过程,减少了目标机器学习模型中冗余算子和张量的数量,保证目标机器学习模型的运行效率。
本文档来自技高网...【技术保护点】
1.一种基于布局传播的机器学习模型转化方法,包括:
2.如权利要求1所述的方法,所述根据所述调整后的算子,生成所述目标机器学习模型,具体包括:
3.如权利要求1所述的方法,所述根据所述调整后的算子,生成所述目标机器学习模型,具体包括:
4.如权利要求3所述的方法,所述生成所述目标机器学习模型之后,所述方法还包括:
5.如权利要求4所述的方法,所述第一激活算子为LeakyReLU算子,所述第二激活算子为PReLU算子,所述第二卷积算子为融合卷积算子。
6.如权利要求4所述的方法,所述确定的算子包括卷积算子,所述移动端模型用于辅助用户拍摄图像。
7.如权利要求1所述的方法,所述对所述确定的算子的属性进行调整,具体包括:
8.如权利要求7所述的方法,所述隐式布局为NCHW或NHWC,所述输入张量的布局变量为NCHW或NHWC,所述隐式布局与所述输入张量的布局变量不一致。
9.如权利要求1~8任一项所述的方法,所述原始机器学习模型为Pytorch模型,所述框架转移中间模型为ONNX模型,所述目
10.一种基于布局传播的机器学习模型转化装置,包括:
11.如权利要求10所述的装置,所述生成模块,在所述计算图中提取至少部分图结构,所述至少部分图结构中同时包含具有隐式布局的算子和不具有隐式布局的算子;
12.如权利要求10所述的装置,所述生成模块,在所述计算图中的所述算子调整后,判断所述计算图中是否存在斜率参数值固定的第一激活算子;
13.如权利要求12所述的装置,还包括:
14.如权利要求13所述的装置,所述第一激活算子为LeakyReLU算子,所述第二激活算子为PReLU算子,所述第二卷积算子为融合卷积算子。
15.如权利要求13所述的装置,所述确定的算子包括卷积算子,所述移动端模型用于辅助用户拍摄图像。
16.如权利要求10所述的装置,所述调整模块,确定所述隐式布局与所述输入张量的布局变量之间位置不一致的维度;
17.如权利要求16所述的装置,所述隐式布局为NCHW或NHWC,所述输入张量的布局变量为NCHW或NHWC,所述隐式布局与所述输入张量的布局变量不一致。
18.如权利要求10~17任一项所述的装置,所述原始机器学习模型为Pytorch模型,所述框架转移中间模型为ONNX模型,所述目标机器学习模型为TensorFlow模型。
19.一种基于布局传播的机器学习模型转化设备,包括:
...【技术特征摘要】
1.一种基于布局传播的机器学习模型转化方法,包括:
2.如权利要求1所述的方法,所述根据所述调整后的算子,生成所述目标机器学习模型,具体包括:
3.如权利要求1所述的方法,所述根据所述调整后的算子,生成所述目标机器学习模型,具体包括:
4.如权利要求3所述的方法,所述生成所述目标机器学习模型之后,所述方法还包括:
5.如权利要求4所述的方法,所述第一激活算子为leakyrelu算子,所述第二激活算子为prelu算子,所述第二卷积算子为融合卷积算子。
6.如权利要求4所述的方法,所述确定的算子包括卷积算子,所述移动端模型用于辅助用户拍摄图像。
7.如权利要求1所述的方法,所述对所述确定的算子的属性进行调整,具体包括:
8.如权利要求7所述的方法,所述隐式布局为nchw或nhwc,所述输入张量的布局变量为nchw或nhwc,所述隐式布局与所述输入张量的布局变量不一致。
9.如权利要求1~8任一项所述的方法,所述原始机器学习模型为pytorch模型,所述框架转移中间模型为onnx模型,所述目标机器学习模型为tensorflow模型。
10.一种基于布局传播的机器学习模型转化装置,包括:
11.如权利要求10...
【专利技术属性】
技术研发人员:黄堃,程远,王萌,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。