[发明专利]运算方法、装置及相关产品有效
申请号: | 201811455785.6 | 申请日: | 2018-11-30 |
公开(公告)号: | CN109558564B | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F17/15 | 分类号: | G06F17/15;G06F9/30;G06N3/04;G06N3/06 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 200120 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运算 方法 装置 相关 产品 | ||
本公开涉及运算方法、装置及相关产品,所述方法包括:根据分段信息将卷积算法的数据分段,得到所述数据的分段数据,所述数据包括所述卷积算法的输入数据和输出数据;根据所述数据的分段数据确定所述数据的第一中间表达;根据所述数据的第一中间表达和所述卷积算法算子的第一中间表达,生成所述卷积算法的第一中间表达。本公开实施例通过数据的第一中间表达和算子的第一中间表达得到算法的第一中间表达,不同的算法在不同的片上系统实现时,不需要设置特定的接口,提高了算法和片上系统之间的兼容性,降低了算法开发的难度。
技术领域
本公开涉及信息处理技术领域,尤其涉及一种运算方法、装置及相关产品。
背景技术
不同的片上系统可以设置不同的语言表达,即设置不同的可用于在片上系统执行的代码。而神经网络算法自身的复杂度高,一个算法可能需要拆分后在片上系统执行。用于实现神经网络算法的编程语言也复杂多变。当使用不同编程语言实现的神经网络算法,在不同类型的片上系统上执行时,需要为特定语言的算法和特定的片上系统设置特定的接口,使得神经网络算法在片上系统实现时的复杂度高。
发明内容
有鉴于此,本公开提出了一种运算方法、装置及相关产品,用以降低神经网络算法在芯片上实现的开发复杂度。
根据本公开的一方面,提供了一种运算方法,所述方法包括:
根据分段信息将卷积算法的数据分段,得到所述数据的分段数据,所述数据包括所述卷积算法的输入数据和输出数据;
根据所述数据的分段数据确定所述数据的第一中间表达;
根据所述数据的第一中间表达和所述卷积算法算子的第一中间表达,生成所述卷积算法的第一中间表达。
在一种可能的实现方式中,所述数据为多维数据,根据分段信息将卷积算法的数据分段,得到所述数据的分段数据,包括:
根据分段信息将所述数据各维度数据分别进行分段,得到所述数据各维度数据的维度分段数据;
根据所述数据的各维度数据的维度分段数据,得到所述数据的分段数据。
在一种可能的实现方式中,所述方法还包括:
根据所述卷积算法的第一中间表达生成所述卷积算法的第一可执行指令。
在一种可能的实现方式中,所述分段信息根据片上缓存的大小确定。
在一种可能的实现方式中,所述输入数据包括输入神经元、权值、偏置,所述输出数据包括卷积输出神经元。
在一种可能的实现方式中,所述输入神经元的各维度数据包括:特征输入通道、输入特征图高度和输入特征图宽度;
所述卷积输出神经元的各维度数据包括:卷积通道、卷积特征图高度和卷积特征图宽度;
所述权值的各维度数据包括:特征输入通道、卷积通道、特征图高度卷积核和特征图宽度卷积核;
所述偏置的各维度数据包括:卷积通道。
根据本公开的一方面,提供了一种运算装置,所述装置包括:
分段数据获取模块,用于根据分段信息将卷积算法的数据分段,得到所述数据的分段数据,所述数据包括所述卷积算法的输入数据和输出数据;
数据中间表达确定模块,用于根据所述数据的分段数据确定所述数据的第一中间表达;
算法中间表达确定模块,用于根据所述数据的第一中间表达和所述卷积算法算子的第一中间表达,生成所述卷积算法的第一中间表达。
在一种可能的实现方式中,所述数据为多维数据,所述分段数据获取模块,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811455785.6/2.html,转载请声明来源钻瓜专利网。