【技术实现步骤摘要】
一种用于处理多维张量数据的方法及其相关产品
[0001]本公开一般地涉及数据处理领域。更具体地,本公开涉及一种用于处理多维张量数据的方法、设备、计算机可读存储介质、集成电路装置和板卡。
技术介绍
[0002]当前,“张量数据”被广泛应用于各类应用场景中,特别是包括深度机器学习的人工智能领域的计算场景中。具体来说,张量可以用于表达一个变化量或常量,其可以具有零个或多个维度。例如,零维张量是纯量(如数值),即常量;一维张量是数值和方向组合的向量;二维张量是向量的组合(即矩阵);三维张量是数据立方体(即矩阵的组合);而四维张量可以是数据立方体的组合,以此类推。对于多维(例如大于或等于二维)张量数据来说,其维度值可以是变量,即该张量数据可以是变化量,其维度设置和基于维度设置的数据“摆放”将对数据的存储方式和读取方式产生重要的影响,并且由此显著影响计算效率和计算平台的整体性能。鉴于此,如何对多维张量数据进行维度处理以实现数据的高效读取成为亟需解决的技术问题。
技术实现思路
[0003]鉴于上述
技术介绍
部分所提及的技术问题,本公开提供了一种利用处理器来处理多维张量数据的方案。通过本公开的方案,可以判断大于或等于二维的多维张量数据是否能够在某些维度上进行维度折叠。基于此,当对某些维度进行折叠后,本公开的方案可以实现对多维张量数据的降维操作,从而简化数据的读取操作并且显著提升计算平台(例如片上系统)的计算性能。基于此,本公开在如下的多个方面中提供用于处理多维张量数据的方案。
[0004]在第一方面中,本公开提 ...
【技术保护点】
【技术特征摘要】
1.一种用于处理多维张量数据的方法,该方法由处理器执行,并且包括:获取与所述多维张量数据中的第一维度关联的第一表达式;获取与所述多维张量数据中的第二维度关联的第二表达式,其中所述第一维度和第二维度是多维张量数据的相邻维度;以及判断所述第一表达式与所述第二表达式是否相等,以便确定所述第一维度和所述第二维度是否能够进行维度折叠。2.根据权利要求1所述的方法,还包括:获取根据所述第一表达式构建的包含节点的第一抽象语法树;获取根据所述第二表达式构建的包含节点的第二抽象语法树;以及通过判断所述第一抽象语法树和第二抽象语法树是否相同来判断所述第一表达式与所述第二表达式是否相等。3.根据权利要求2所述的方法,其中所述第一表达式基于神经网络模型中的多维张量数据的第一维度的跨度,而所述第二表达式基于所述神经网络模型中的多维张量数据的第二维度的跨度和尺寸。4.根据权利要求3所述的方法,其中获取所述第一抽象语法树包括:沿所述神经网络模型的中间表达向前追溯获取所述第一维度的跨度的计算过程;以及在所述向前追溯期间,基于所述计算过程构建:所述第一抽象语法树的根节点;以及所述根节点下的叶子节点或者所述根节点下的子节点和叶子节点。5.根据权利要求3所述的方法,其中获取所述第二抽象语法树包括:沿所述神经网络模型的中间表达向前追溯获取所述第二维度的跨度和尺寸的计算过程;以及在所述向前追溯期间,基于所述计算过程来构建:所述第二抽象语法树的根节点;以及所述根节点下的叶子节点或者所述根节点下的子节点和叶子节点。6.根据权利要求4或5所述的方法,还包括响应于追溯至发生如下情形之一时,停止所述向前追溯:沿所述中间表达追溯至内核函数的入口参数时;或者沿所述中间表达追溯至特定的运算时。7.根据权利要求4或5所述的方法,其中在判断所述第一抽象语法树和第二抽象语法树是否相同前,所述方法还包括:对所述第一抽象语法树或第二抽象语法树进行转换,以便转换后的第一抽象语法树和第二抽象语法树适于所述判断。8.根据权利要求7所述的方法,其中对所述第一抽象语法树或第二抽象语法树进行转换包括:将乘法运算对应的根节点或子节点向所述第一抽象语法树或第二抽象语法树的下层方向移动;以及将加法运算对应的子节点和/或叶子节点向所述第一抽象语法树或第二抽象语法树的上层方向移动。
9.根据权利要求7所述的方法,其中对所述第一抽象语法树或第二抽象语法树进行转换包括:确定所述第一抽象语法树或第二抽象语法树中是否存在运算类型相同的根节点和子节点;以及响应于存在运算类型相同的根节点和子节点,将所述根节点和子节点进行合并。10.根据权利要求7所述的方法,其中对所述第一抽象语法树或第二抽象语法树进行转换还包括对所述第一抽象语法树或第二抽象语法树执行化简操作。11.根据权利要求10所述的方法,其中所述化简操作包括对第一抽象语法树或第二抽象语法树执行以下之一的化简操作:对表示立即数的多个节点执行合并;对表示立即数乘以变量和所述变量的多...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:中科寒武纪科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。