CN110276096B - 提高深度学习模型预测能力的方法、电子设备和存储介质 - Google Patents

提高深度学习模型预测能力的方法、电子设备和存储介质 Download PDF

Info

Publication number
CN110276096B
CN110276096B CN201910379961.0A CN201910379961A CN110276096B CN 110276096 B CN110276096 B CN 110276096B CN 201910379961 A CN201910379961 A CN 201910379961A CN 110276096 B CN110276096 B CN 110276096B
Authority
CN
China
Prior art keywords
matrix
tested
matrixes
group
dimension information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910379961.0A
Other languages
English (en)
Other versions
CN110276096A (zh
Inventor
段琳
刘京亮
王国亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910379961.0A priority Critical patent/CN110276096B/zh
Publication of CN110276096A publication Critical patent/CN110276096A/zh
Application granted granted Critical
Publication of CN110276096B publication Critical patent/CN110276096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Geometry (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种提高深度学习模型预测能力的方法、电子设备和存储介质,包括:向待测试设备发送多组矩阵,以使待测试设备对每组矩阵中的至少两个矩阵进行矩阵乘运算并输出运算结果,每组矩阵的维度信息不同,矩阵的维度信息用于指示矩阵乘运算的运算量和数据量;获取每个运算结果的运算时间;根据每组矩阵中的至少两个矩阵的维度信息、结果矩阵的维度信息,以及每个运算结果的运算时间,获取待测试设备的roofline模型;根据待测试设备的roofline模型,对待测试设备进行处理。本申请采用不同维度的矩阵乘运算能够快速获取设备的roofline模型,以提高待测试深度学习模型的预测性能。

Description

提高深度学习模型预测能力的方法、电子设备和存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种提高深度学习模型预测能力的方法、电子设备和存储介质。
背景技术
随着深度学习的不断发展,多种多样的深度学习模型层出不穷。通过不同的硬件设备(如GPU、TPU、CPU或ASIC)对同一个深度学习模型的预测性能(如需要多少次计算才能完成一次前馈)进行验证时,获取的深度学习模型的预测性能往往不同。深度学习模型的预测性能与硬件设备的运算性能(运算量/运算时间)和模型的运算强度(运算量/数据量)紧密相关。为了准确的获取深度学习模型的预测性能,需要根据硬件设备的运算性能和深度学习模型的运算强度对硬件设备进行改善处理。硬件设备的屋顶roofline模型用于表征硬件设备的运算性能和运算强度,因此,获取硬件设备的roofline模型至关重要。
现有技术中,通过在硬件设备中运算具有不同运算量和数据量的深度学习模型直至该模型输出结果,来获取硬件设备的运算强度和运算性能,进而获取硬件设备的roofline模型(横坐标为运算强度,纵坐标为运算性能)。
目前,在通过上述方式获取硬件设备的roofline模型时,为了确保所获取的roofline模型的准确性,需要选取运算强度分布范围大的多个深度学习模型,选取过程较为复杂,造成获取roofline模型的效率低,进而导致设备处理的效率低。
发明内容
本申请提供一种提高深度学习模型预测能力的方法、电子设备和存储介质,能够快速获取设备的roofline模型,以提高待测试深度学习模型的预测性能。
本申请的第一方面提供一种提高深度学习模型预测能力的方法,包括:
向待测试设备发送多组矩阵,以使所述待测试设备对每组所述矩阵中的至少两个矩阵进行矩阵乘运算并输出运算结果,所述运算结果为结果矩阵,其中每组所述矩阵具有不同的维度信息,所述维度信息用于指示矩阵乘运算的运算量和数据量,其中每组所述矩阵包括至少两个矩阵,所述每组矩阵的维度信息包括至少两个矩阵的维度信息;
获取所述待测试设备输出每个所述运算结果的运算时间;
根据每组所述矩阵中的至少两个矩阵的维度信息、每组所述矩阵对应的结果矩阵的维度信息,以及所述待测试设备获取每个所述运算结果的运算时间,获取所述待测试设备的roofline模型;
根据待测试深度学习模型的运算量和数据量,以及所述待测试设备的roofline模型,对所述待测试设备进行处理,以提高所述待测试深度学习模型的预测性能,所述待测试设备用于对所述待测试深度学习模型进行运算。
可选的,每组所述矩阵中包括第一矩阵和第二矩阵,所述第一矩阵的列数和所述第二矩阵的行数相同。
可选的,所述向待测试设备发送多组矩阵之前,还包括:
接收多个维度信息,根据所述多个维度信息生成每个所述维度信息对应的每组所述矩阵。
可选的,每组所述矩阵的维度信息包括:所述第一矩阵的维度信息和第二矩阵的维度信息;所述获取所述待测试设备的roofline模型,包括:
根据每组所述矩阵中所述第一矩阵的维度信息、所述第二矩阵的维度信息、所述结果矩阵的维度信息,获取每组所述矩阵对应的矩阵乘的运算量和数据量;
根据每组所述矩阵对应的所述矩阵乘的运算量和数据量,获取每组所述矩阵对应的运算强度;
根据每组所述矩阵对应的所述矩阵乘的运算量和所述待测试设备的运算时间,获取每组所述矩阵对应的所述待测试设备的运算性能;
根据每组所述矩阵对应的运算强度和所述待测试设备的运算性能,获取所述待测试设备的roofline模型。
可选的,所述获取每组所述矩阵对应的矩阵乘的运算量和数据量,包括:
根据如下公式一获取每组所述矩阵对应的矩阵乘的运算量C:
C=(m×k×n)×a   公式一
根据如下公式二获取每组所述矩阵对应的矩阵乘的数据量M:
M=(m×k+k×n+m×n)×b   公式二
其中,m为每组所述矩阵中所述第一矩阵的行数,k为每组所述矩阵中所述第一矩阵的列数、所述第二矩阵的行数,n为每组所述矩阵中所述第二矩阵的列数,a和b为常数。
可选的,所述获取所述待测试设备的roofline模型之前,还包括:
判断每个所述结果矩阵是否正确;
若否,则将错误的结果矩阵对应的第一矩阵和第二矩阵发送给待测试设备,以使所述待测试设备重新进行矩阵乘运算。
可选的,所述第一矩阵的维度信息和所述第二矩阵的维度信息相同;
所述接收多个维度信息,生成每个维度信息对应的每组所述矩阵,包括:
依次接收每个维度信息,生成每个维度信息对应的每组所述矩阵,直至接收到的维度信息包括的所述第一矩阵的维度信息与预设维度信息相同;后一次接收到的维度信息包括的所述第一矩阵的维度大于前一次接收到的维度信息包括的所述第一矩阵的维度;
所述向待测试设备发送多组矩阵,包括:
依次向所述待测试设备发送生成的每个维度信息对应的每组所述矩阵。
本申请的第二方面提供一种电子设备,包括:
收发模块,用于向待测试设备发送多组矩阵,以使所述待测试设备对每组所述矩阵中的至少两个矩阵进行矩阵乘运算并输出运算结果,所述运算结果为结果矩阵,其中每组所述矩阵具有不同的维度信息,所述维度信息用于指示矩阵乘运算的运算量和数据量,其中每组所述矩阵包括至少两个矩阵,所述每组矩阵的维度信息包括至少两个矩阵的维度信息;
计时模块,用于获取所述待测试设备输出每个所述运算结果的运算时间;
roofline模型绘制模块,用于根据每组所述矩阵中的至少两个矩阵的维度信息、每组所述矩阵对应的结果矩阵的维度信息,以及所述待测试设备获取每个所述运算结果的运算时间,获取所述待测试设备的屋顶roofline模型;
处理模块,用于根据待测试深度学习模型的运算量和数据量,以及所述待测试设备的roofline模型,对所述待测试设备进行处理,以提高所述待测试深度学习模型的预测性能,所述待测试设备用于对所述待测试深度学习模型进行运算。
可选的,每组所述矩阵中包括第一矩阵和第二矩阵,所述第一矩阵的列数和所述第二矩阵的行数相同。
可选的,所述收发模块,还用于接收多个维度信息,根据所述多个维度信息生成每个所述维度信息对应的每组所述矩阵。
可选的,每组所述矩阵的维度信息包括:所述第一矩阵的维度信息、所述第二矩阵的维度信息。
所述roofline模型绘制模块,具体用于根据每组所述矩阵中所述第一矩阵的维度信息、所述第二矩阵的维度信息、所述结果矩阵的维度信息,获取每组所述矩阵对应的矩阵乘的运算量和数据量;根据每组所述矩阵对应的所述矩阵乘的运算量和数据量,获取每组所述矩阵对应的运算强度;根据每组所述矩阵对应的所述矩阵乘的运算量和所述待测试设备的运算时间,获取每组所述矩阵对应的所述待测试设备的运算性能;根据每组所述矩阵对应的运算强度和所述待测试设备的运算性能,获取所述待测试设备的roofline模型。
可选的,所述roofline模型绘制模块,具体用于根据如下公式一获取每组所述矩阵对应的矩阵乘的运算量C:
C=(m×k×n)×a   公式一
根据如下公式二获取每组所述矩阵对应的矩阵乘的数据量M:
M=(m×k+k×n+m×n)×b   公式二
其中,m为每组所述矩阵中所述第一矩阵的行数,k为每组所述矩阵中所述第一矩阵的列数、所述第二矩阵的行数,n为每组所述矩阵中所述第二矩阵的列数,a和b为常数。
可选的,所述处理模块,还用于判断每个所述结果矩阵是否正确;若否,则将错误的结果矩阵对应的第一矩阵和第二矩阵发送给待测试设备,以使所述待测试设备重新进行矩阵乘运算。
可选的,所述第一矩阵的维度信息和所述第二矩阵的维度信息相同;
所述收发模块,具体用于依次接收每个维度信息,生成每个维度信息对应的每组所述矩阵,直至接收到的维度信息包括的所述第一矩阵的维度信息达到预设维度信息;后一次接收到的维度信息包括的所述第一矩阵的维度大于前一次接收到的维度信息包括的所述第一矩阵的维度;依次向所述待测试设备发送生成的每个维度信息对应的每组所述矩阵。
本申请的第三方面提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行上述提高深度学习模型预测能力的方法。
本申请的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现上述提高深度学习模型预测能力的方法。
本申请提供一种提高深度学习模型预测能力的方法、电子设备和存储介质,由于不同维度信息的矩阵乘运算具有不同的运算量和数据量,本申请中的方法采用不同维度信息的矩阵乘运算代替现有技术中采用不同数据量和运算量的深度学习模型,获取设备的roofline模型。一方面,矩阵的维度信息的选取相较于不同数据量和运算量的深度学习模型简单、方便;另一方面,矩阵乘运算为简单的乘加运算,运算结果的获取比深度学习模型的获取结果更为快速;以上两方面均提高了获取设备的roofline模型的速度,进而能够快速对设备进行处理以达到提高深度学习模型的预测性能的目的。
附图说明
图1为Roofline模型的示意图;
图2为本申请提供的提高深度学习模型预测能力的方法的流程示意图一;
图3为本申请提供的提高深度学习模型预测能力的方法的流程示意图二;
图4为本申请提供的提高深度学习模型预测能力的方法的流程示意图三;
图5为本申请提供的电子设备的结构示意图一;
图6为本申请提供的电子设备的结构示意图二。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请的实施例,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
深度学习模型可以应用于多个技术领域,各种类型的深度学习模型也层出不穷。深度学习模型的预测性能指的是期望值与该模型输出的实际值的差值,若期望值与实际值的差值越小,则表明该模型的预测性能越好,反之则越差。但将相同的深度学习模型在不同的硬件设备中进行运算获取该模型的预测性能时,往往获取的结果不同,这可能是由于深度学习模型和硬件设备的契合度不同。契合度越好,则通过该硬件设备获取的深度学习模型的预测性能也就越好。而深度学习模型和硬件设备的契合度可以通过硬件设备的屋顶Roofline模型进行调整,使得提高二者之间的契合度,以提高深度学习模型的预测性能。
硬件设备的Roofline模型,或称为Roofline曲线,下述实施例中均以Roofline模型进行说明。图1为Roofline模型的示意图。如图1所示,Roofline模型的横坐标为运算强度,纵坐标为运算性能,该Roofline模型用于表示硬件设备的运算性能与深度学习模型的运算强度的变化关系。Roofline模型分为两个部分,一个部分为上升区,另一部分为饱和区。
当深度学习模型的运算强度较小时,曲线处于上升区,即深度学习模型的预测性能被硬件设备的运算性能(如硬件设备的内存带宽)限制,硬件设备中有很多内存带宽闲置。该种情况下,可以通过提高提高深度学习模型的运算强度或提高硬件设备的运算性能,以达到提高深度学习模型的预测性能的目的。随着深度学习模型的运算强度的上升,即在相同数据量下该模型可以完成更多运算,预测性能就会提高。然后,随着深度学习模型的运算强度越来越高,Roofline模型就进入了饱和区,此时再提高深度学习模型的运算强度,深度学习模型的预测性能也不会提高,即深度学习模型的预测性能达到了屋顶(roof)。据此,对于一个深度学习模型,可以根据硬件设备的Roofline模型对硬件设备进行处理,可以提高深度学习模型的预测性能。
下面对Roofline模型进行详细说明:
硬件设备针对不同类型的运算均需要两个参数,一个是运算量C(即时间复杂度),一个是数据量M(即空间复杂度),两者相除即为该运算对应的运算强度I(C/M)。进一步的,硬件设备在对该运算完成后,可以统计该运算对应的运算时间T,进而可以得到硬件设备的运算性能P(即用运算量除以运算时间C/T)。其中,运算量的单位是flops(浮点运算),数据量的单位是byte(字节),运算强度的单位就是flops/byte(即每字节上进行的浮点运算),运算性能的单位是Flops(单位时间内的运算量)。值得注意的是,运算量的单位flops(全小写),是flop的复数表达方式;运算性能的单位Flops是指每秒多少flop,Flops中的s指的是second即秒。
现有技术中获取硬件设备的roofline模型的方法是:采用硬件设备对具有不同运算量和数据量的深度学习模型进行运算,直至每个深度学习模型输出结果为止,获取硬件设备的运算性能,再根据每个深度学习模型的运算强度,获取硬件设备的roofline模型。但现有技术中的这种方式选取深度学习模型的用时长、且对运算量和数据量较大的深度学习模型进行运算时,深度学习模型输出结果的用时较长,造成获取硬件设备的roofline模型效率低,进而影响对硬件设备的处理效率。另外,对于处于流片初期的硬件设备(如ASIC),其不具备支持深度学习模型运算的能力,采用上述方法无法获取该硬件设备的roofline模型,进而无法提高深度学习模型预测能力。
为了解决上述问题,本申请提供了一种提高深度学习模型预测能力的方法,由于不同维度的矩阵乘运算具有不同的运算量和数据量,该方法中通过硬件设备对不同维度的矩阵进行矩阵乘运算代替对深度学习模型的运算,能够达到提高深度学习模型预测能力,以及提高获取硬件设备的roofline模型效率的目的。
图2为本申请提供的提高深度学习模型预测能力的方法的流程示意图一,图2所示方法流程的执行主体可以为电子设备,该电子设备可由任意的软件和/或硬件实现。如图2所示,本实施例提供的提高深度学习模型预测能力的方法可以包括:
S201,向待测试设备发送多组矩阵,以使待测试设备对每组矩阵中的至少两个矩阵进行矩阵乘运算并输出运算结果,运算结果为结果矩阵,每组矩阵具有不同的维度信息,维度信息用于指示矩阵乘运算的运算量和数据量,每组矩阵包括至少两个矩阵,每组矩阵的维度信息包括至少两个矩阵的维度信息。
应理解,本实施例中的“待测试设备”均为“硬件设备”。由于矩阵乘运算实际上为乘加运算,进行矩阵乘运算的矩阵的维度、个数不同,其运算量和数据量均不同。进行矩阵乘的矩阵的维度越大和/或矩阵个数越多,其运算量和数据量也相应越大。
本实施例中,电子设备可以向待测试设备发送多组矩阵,以使待测试设备对每组矩阵中的至少两个矩阵进行矩阵乘运算并输出运算结果。每组矩阵中可以包含有第一矩阵和第二矩阵,第一矩阵和第二矩阵的维度信息可以相同或不同;每组矩阵具有不同的维度信息,指的是不同组之间的第一矩阵的维度信息,以及第二矩阵的维度信息不同。例如,第一组矩阵中包括一个2维矩阵和一个2维矩阵,则第二组矩阵中包括的矩阵的维度信息与第一组矩阵中的矩阵维度信息不同,如第二组矩阵中包括一个4维矩阵和一个4位矩阵,该示例中例举的是每组中包含的两个矩阵的维度信息相同的情况,实际上每组中包含的两个矩阵的维度信息也可以不同,只要每组矩阵中的矩阵可以进行矩阵乘运算即可。
矩阵的维度信息用于指示矩阵乘运算的运算量和数据量。应理解,矩阵乘运算的运算量和数据量与进行矩阵乘的矩阵的维度有关,本实施例中由于每组矩阵的维度信息不同,则待测试设备进行每次矩阵乘运算的数据量和运算量不同。由于每组矩阵中包括至少两个矩阵,则相应的,每组矩阵的维度信息包括至少两个矩阵的维度信息。
待测试设备对每组矩阵中的至少两个矩阵进行矩阵乘运算并输出运算结果,该运算结果为结果矩阵。可选的,待测试设备可以将每一次矩阵乘的结果矩阵发送给电子设备。
S202,获取待测试设备输出每个运算结果的运算时间。
本实施例中,电子设备可以获取待测试设备进行每一次矩阵乘运算的运算时间。该运算时间可以为待测试设备从接收到一组矩阵开始,直至输出该组矩阵的运算结果为止,所经历的时间。
可选的,为了保证每组矩阵进行矩阵乘运算的运算时间的准确性,待测试设备在接收到电子设备发送的多组矩阵后,可以逐组对每组矩阵进行矩阵乘运算。可选的,电子设备可以对待测试设备进行的矩阵乘运算的矩阵的维度信息和运算时间进行对应存储。
S203,根据每组矩阵中的至少两个矩阵的维度信息、每组矩阵对应的结果矩阵的维度信息,以及待测试设备获取每个运算结果的运算时间,获取待测试设备的roofline模型。
矩阵乘运算即为简单的乘加运算,本实施例中可以根据每组矩阵中的至少两个矩阵的维度信息与矩阵乘的运算量具有正比关系,每组矩阵中的至少两个矩阵的维度信息可以用于指示矩阵乘运算的运算量。同理的,进行矩阵乘运算的数据量与每组矩阵中的至少两个矩阵的维度信息,以及每组矩阵对应的结果矩阵的维度信息具有正比关系,每组矩阵中的至少两个矩阵的维度信息,以及每组矩阵对应的结果矩阵的维度信息可以用于指示矩阵乘运算的数据量。
应理解,本实施例中可以预先建立每组矩阵中的至少两个矩阵的维度信息与矩阵乘的运算量的对应关系,通俗的讲,即至少两个矩阵的维度信息代表多大的运算量;同理的,也可以预先建立每组矩阵中的至少两个矩阵的维度信息,以及每组矩阵对应的结果矩阵的维度信息,与矩阵乘的数据量的对应关系。据此,本实施例中电子设备可以根据每组矩阵中的至少两个矩阵的维度信息、每组矩阵对应的结果矩阵的维度信息,确定矩阵乘运算的运算量和数据量。进一步的,根据矩阵乘运算的运算量和数据量,可以确定矩阵乘运算的运算强度。
对应的,根据矩阵乘运算的运算量和该矩阵乘对应的运算时间,可以确定待测试设备的运算性能。进而根据多次矩阵乘运算对应的运算强度和待测试设备的运算性能,可以获取待测试设备的roofline模型。
由于矩阵的维度信息用于指示矩阵乘运算的运算量和数据量。可选的,本实施例中为了使得获取的待测试设备的屋顶roofline模型具有较高的准确性,可以预先为每组矩阵的维度信息进行设置,以保证矩阵乘的运算强度可以分布广泛。
S204,根据待测试深度学习模型的运算量和数据量,以及待测试设备的roofline模型,对待测试设备进行处理,以提高待测试深度学习模型的预测性能,待测试设备用于对待测试深度学习模型进行运算。
应理解,根据待测试深度学习模型的运算量和数据量,可以确定待测试深度学习模型的运算强度。进而根据待测试设备的roofline模型,可以确定该待测试深度学习模型所处的阶段是上升区还是饱和区。进一步的,本实施例中的待测试设备用于对待测试深度学习模型进行运算,根据待测试深度学习模型所处的阶段,对待测试设备进行处理,以提高待测试深度学习模型的预测性能。
例如,若处于上升区,可以通过提高硬件设备的运算性能(如增加内存带宽),以达到提高深度学习模型的预测性能的目的。
本实施例中,由于不同维度的矩阵乘运算具有不同的运算量和数据量,本申请中的方法采用不同维度的矩阵乘运算代替现有技术中采用不同数据量和运算量的深度学习模型,获取设备的roofline模型。一方面,矩阵的维度的选取相较于不同数据量和运算量的深度学习模型简单、方便;另一方面,矩阵乘运算为简单的乘加运算,运算结果的获取比深度学习模型的获取结果更为快速;以上两方面均提高了获取设备的roofline模型的速度,进而能够快速对设备进行处理以达到提高深度学习模型的预测性能的目的;再一方面,对于不支持模型运算的设备,该方法可以有效地获取设备的roofline模型。
下面结合图3对本申请提供的获取待测试设备的进行进一步说明,图3为本申请提供的提高深度学习模型预测能力的方法的流程示意图二,如图3所示,本实施例提供的提高深度学习模型预测能力的方法可以包括:
S301,接收多个维度信息,根据多个维度信息生成每个维度信息对应的每组矩阵。
本实施例中电子设备可以接收多个维度信息。其中,该多个维度信息可以是用户输入至电子设备中的,该种情况下,电子设备接收用户的输入指令,该输入指令中包括多个维度信息,该输入指令用于指示电子设备生成每个维度信息对应的每组矩阵。电子设备在接收到多个维度信息后,可以生成每个维度信息对应的每组矩阵。可选的,每个维度信息中包括每组矩阵中至少两个矩阵的维度信息。
S302,向待测试设备发送多组矩阵,每组矩阵中包括第一矩阵和第二矩阵,以使待测试设备对第一矩阵和第二矩阵进行矩阵乘运算并输出运算结果,第一矩阵的列数和第二矩阵的行数相同。
应理解,运算结果为结果矩阵,每组矩阵的维度信息不同。与上述实施例不同的是,本实施例中的每组矩阵中包含有两个矩阵,即第一矩阵和第二矩阵。其中,第一矩阵的列数和第二矩阵的行数相同,指的是该两个矩阵可以进行矩阵乘运算。
可选的,电子设备可以对待测试设备输出的结果矩阵进行检查,判断每个结果矩阵是否正确。若结果矩阵不正确,则将错误的结果矩阵对应的第一矩阵和第二矩阵发送给待测试设备,以使待测试设备重新进行矩阵乘运算,直至结果矩阵正确为止。
S303,根据每组矩阵中第一矩阵的维度信息、第二矩阵的维度信息、结果矩阵的维度信息,获取每组矩阵对应的矩阵乘的运算量和数据量。
应理解,当每组矩阵中包括第一矩阵和第二矩阵时,每组矩阵的维度信息包括:第一矩阵的维度信息和第二矩阵的维度信息。
可以根据如下公式一获取每组矩阵对应的矩阵乘的运算量C:
C=(m×k×n)×a   公式一
其中,m为每组矩阵中第一矩阵的行数,k为每组矩阵中第一矩阵的列数、第二矩阵的行数,n为每组矩阵中第二矩阵的列数,a和b为常数。
值得注意的是,a和b与运算的类型有关,运算的类型可以为单精度浮点运算、双精度浮点运算、整型运算或int8运算中的任意一种。
示例性的,若以单精度浮点运算为例进行说明。公式一中的a可以为2。如,第一矩阵为2维矩阵,第二矩阵为2维矩阵,则矩阵乘运算的运算量为进行了8次乘法运算,又进行了8次加法运算,则运算量为16次。即可以根据公式一获取矩阵乘的运算量。
可以根据如下公式二获取每组矩阵对应的矩阵乘的数据量M:
M=(m×k+k×n+m×n)×b   公式二
示例性的,若以单精度浮点运算为例进行说明。公式二中的b可以为4。如,第一矩阵为2维矩阵,第二矩阵为2维矩阵,则矩阵乘运算的数据量为第一矩阵、第二矩阵和结果矩阵的数据量之和,其中m×k用于表示第一矩阵的数据量,k×n用于表示第二矩阵的数据量,m×n用于表示结果矩阵的数据量。
应理解,可以根据上述公式一和公式二可以获取不同类型的矩阵乘运算的运算量和数据量,本实施例提供的方法具有较好的适应性。
S304,根据每组矩阵对应的矩阵乘的运算量和数据量,获取每组矩阵对应的运算强度。
每组矩阵对应的运算强度,即为每组矩阵对应的矩阵乘的运算量和数据量之商。
若以单精度浮点运算为例,每组矩阵对应的运算强度I可由如下获取:
Figure BDA0002053047160000121
S305,根据每组矩阵对应的矩阵乘的运算量和待测试设备的运算时间,获取每组矩阵对应的待测试设备的运算性能。
每组矩阵对应的待测试设备的运算性能,即为每组矩阵对应的矩阵乘的运算量和运算时间之商。
若以单精度浮点运算为例,每组矩阵对应的运算强度P可由如下公式四获取:
Figure BDA0002053047160000122
其中,T为每组矩阵对应的矩阵乘的运算时间。
S306,根据每组矩阵对应的运算强度和待测试设备的运算性能,获取待测试设备的roofline模型。
本实施例中,将每组矩阵对应的运算强度作为横坐标,将每组矩阵对应的待测试设备的运算性能作为纵坐标,既可以获取待测试设备的roofline模型。
示例性的,以单精度浮点运算为例,当m为1,n也为1时,矩阵乘运算即为单向量的乘,此时矩阵乘的运算强度可以为
Figure BDA0002053047160000123
当向量比较大时,运算强度I可以为1/4。当矩阵乘运算即为单向量的乘时,矩阵乘的运算强度很小,为数据密集型场景,即每byte上运算1/4个数据。
当第一矩阵和第二矩阵均为方阵时,即m、n和k相同。此时矩阵乘的运算强度可以为
Figure BDA0002053047160000124
其中,当m为1024时,运算强度约为170,此时的矩阵乘的运算强度较大,对应的是运算密集型场景;当m为32时,计算强度约为6,此时的矩阵乘的运算强度较小,对应的是数据密集型场景。
应理解,本实施例中可以设置每组矩阵中不同第一矩阵的维度信息和不同的第二矩阵的维度信息,使得获取的运算强度I可以很好地覆盖待测试设备的roofline模型的横坐标。
S307,根据待测试深度学习模型的运算量和数据量,以及待测试设备的roofline模型,对待测试设备进行处理,以提高待测试深度学习模型的预测性能。
本实施例中的S307中的实施方法可以参照上述实施例中的S104中的相关描述,在此不做赘述。
本实施例中,以每组矩阵中包括两个矩阵,且通过预先设置每组矩阵中第一矩阵维度信息和第二矩阵的维度信息,使得矩阵乘的运算强度能够分布广泛,可以很好地覆盖待测试设备的roofline模型的横坐标,进而提高测试设备的roofline模型的准确性。
下面结合图4对本申请提供的获取待测试设备的进行进一步说明,图4为本申请提供的提高深度学习模型预测能力的方法的流程示意图三。本实施例中,为了进一步提高获取待测试设备的roofline模型的效率和准确性。第一矩阵和第二矩阵的维度信息可以相同,且采用依次增加每组矩阵的维度信息,依次生成不同维度的矩阵,并依次向待测试设备发送不同维度的矩阵的方式准确、快速的获取待测试设备的roofline模型。避免一次性向待测试设备发送多组矩阵,造成待测试设备运算压力大的问题。
如图4所示,本实施例提供的提高深度学习模型预测能力的方法可以包括:
S401,依次接收每个维度信息,生成每个维度信息对应的每组矩阵。
本实施例中,第一矩阵的维度信息和第二矩阵的维度信息相同。每个维度信息中包括第一矩阵的维度信息和第二矩阵的维度信息,由于第一矩阵的维度信息和第二矩阵的维度信息相同,因此,该每个维度信息中可以包括第一矩阵的维度信息或第二矩阵的维度信息。
其中,后一次接收到的维度信息包括的第一矩阵的维度大于前一次接收到的维度信息包括的第一矩阵的维度。例如,第一次接收到的维度信息中第一矩阵的维度信息为32,则第二次接收到的维度信息中第二矩阵的维度信息为可以为64。应理解,后一次接收到的维度信息包括的第二矩阵的维度大于前一次接收到的维度信息包括的第二矩阵的维度。应理解,本实施例中的维度信息可以与维度替换。
维度信息可以为预先设置的,可以使得矩阵乘的运算强度覆盖待测试设备的roofline模型的横坐标。可选的,电子设备中存储有预设维度信息,当电子设备接收到的维度信息包括的第一矩阵的维度信息与预设维度信息相同时,电子设备停止生成矩阵。
S402,依次向待测试设备发送生成的每个维度信息对应的每组矩阵。
对应的,电子设备依次生成维度逐渐增大的第一矩阵和第二矩阵,将每个维度信息对应的每组矩阵发送给待测试设备,以使待测试设备根据每组矩阵中的第一矩阵和第二矩阵进行矩阵乘运算并输出结果矩阵。
S403,根据每组矩阵中第一矩阵的维度信息、第二矩阵的维度信息、结果矩阵的维度信息,获取每组矩阵对应的矩阵乘的运算量和数据量。
S404,根据每组矩阵对应的矩阵乘的运算量和数据量,获取每组矩阵对应的运算强度。
S405,根据每组矩阵对应的矩阵乘的运算量和待测试设备的运算时间,获取每组矩阵对应的待测试设备的运算性能。
S406,根据每组矩阵对应的运算强度和待测试设备的运算性能,获取待测试设备的roofline模型。
S407,根据待测试深度学习模型的运算量和数据量,以及待测试设备的roofline模型,对待测试设备进行处理,以提高待测试深度学习模型的预测性能。
本实施例中的S403-S407中的实施方法可以参照上述实施例中的S303-S307中的相关描述,在此不做赘述。
本实施例中,采用依次增加每组矩阵的维度信息,依次生成不同维度信息的矩阵,并依次向待测试设备发送不同维度的矩阵的方式准确、快速的获取待测试设备的roofline模型。避免一次性向待测试设备发送多组矩阵,造成待测试设备运算压力大的问题。
图5为本申请提供的电子设备的结构示意图一。如图5所示,该电子设备500包括:收发模块501、计时模块502、roofline模型绘制模块503和处理模块504。
收发模块501,用于向待测试设备发送多组矩阵,以使待测试设备对每组矩阵中的至少两个矩阵进行矩阵乘运算并输出运算结果,运算结果为结果矩阵,其中每组矩阵具有不同的维度信息,维度信息用于指示矩阵乘运算的运算量和数据量,其中每组矩阵包括至少两个矩阵,每组矩阵的维度信息包括至少两个矩阵的维度信息;
计时模块502,用于获取待测试设备输出每个运算结果的运算时间;
roofline模型绘制模块503,用于根据每组矩阵中的至少两个矩阵的维度信息、每组矩阵对应的结果矩阵的维度信息,以及待测试设备获取每个运算结果的运算时间,获取待测试设备的屋顶roofline模型;
处理模块504,用于根据待测试深度学习模型的运算量和数据量,以及待测试设备的roofline模型,对待测试设备进行处理,以提高待测试深度学习模型的预测性能,待测试设备用于对待测试深度学习模型进行运算。
可选的,每组矩阵中包括第一矩阵和第二矩阵,第一矩阵的列数和第二矩阵的行数相同。
可选的,收发模块501,还用于接收多个维度信息,根据多个维度信息生成每个维度信息对应的每组矩阵。
可选的,每组矩阵的维度信息包括:第一矩阵的维度信息、第二矩阵的维度信息。
roofline模型绘制模块503,具体用于根据每组矩阵中第一矩阵的维度信息、第二矩阵的维度信息、结果矩阵的维度信息,获取每组矩阵对应的矩阵乘的运算量和数据量;根据每组矩阵对应的矩阵乘的运算量和数据量,获取每组矩阵对应的运算强度;根据每组矩阵对应的矩阵乘的运算量和待测试设备的运算时间,获取每组矩阵对应的待测试设备的运算性能;根据每组矩阵对应的运算强度和待测试设备的运算性能,获取待测试设备的roofline模型。
可选的,roofline模型绘制模块503,具体用于根据如下公式一获取每组矩阵对应的矩阵乘的运算量C:
C=(m×k×n)×a   公式一
根据如下公式二获取每组矩阵对应的矩阵乘的数据量M:
M=(m×k+k×n+m×n)×b   公式二
其中,m为每组矩阵中第一矩阵的行数,k为每组矩阵中第一矩阵的列数、第二矩阵的行数,n为每组矩阵中第二矩阵的列数,a和b为常数。
可选的,处理模块504,还用于判断每个结果矩阵是否正确;若否,则将错误的结果矩阵对应的第一矩阵和第二矩阵发送给待测试设备,以使待测试设备重新进行矩阵乘运算。
可选的,第一矩阵的维度信息和第二矩阵的维度相同;
收发模块501,具体用于依次接收每个维度信息,生成每个维度信息对应的每组矩阵,直至接收到的维度信息包括的第一矩阵的维度信息与预设维度信息相同;后一次接收到的维度信息包括的第一矩阵的维度大于前一次接收到的维度信息包括的第一矩阵的维度;依次向待测试设备发送生成的每个维度信息对应的每组矩阵。
本实施例提供的电子设备与上述提高深度学习模型预测能力的方法实现的原理和技术效果类似,在此不作赘述。
图6为本申请提供的电子设备的结构示意图二。该电子设备如可以是终端设备,比如智能手机、平板电脑、计算机等。如图6所示,该电子设备600包括:存储器601和至少一个处理器602。
存储器601,用于存储程序指令。
处理器602,用于在程序指令被执行时实现本实施例中的提高深度学习模型预测能力的方法,具体实现原理可参见上述实施例,本实施例此处不再赘述。
该电子设备600还可以包括及输入/输出接口603。
输入/输出接口603可以包括独立的输出接口和输入接口,也可以为集成输入和输出的集成接口。其中,输出接口用于输出数据,输入接口用于获取输入的数据。
本申请还提供一种可读存储介质,可读存储介质中存储有执行指令,当电子设备的至少一个处理器执行该执行指令时,当计算机执行指令被处理器执行时,实现上述实施例中的提高深度学习模型预测能力的方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的提高深度学习模型预测能力的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块504中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述网络设备或者终端设备的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (8)

1.一种提高深度学习模型预测能力的方法,其特征在于,包括:
向待测试设备发送多组矩阵,以使所述待测试设备对每组所述矩阵中的至少两个矩阵进行矩阵乘运算并输出运算结果,所述运算结果为结果矩阵,其中每组所述矩阵具有不同的维度信息,所述维度信息用于指示矩阵乘运算的运算量和数据量,其中每组所述矩阵包括至少两个矩阵,所述每组矩阵的维度信息包括至少两个矩阵的维度信息;
获取所述待测试设备输出每个所述运算结果的运算时间;
根据所述每组矩阵的维度信息、每组所述矩阵对应的结果矩阵的维度信息,以及所述待测试设备输出每个所述运算结果的运算时间,获取所述待测试设备的roofline模型;
根据待测试深度学习模型的运算量和数据量,以及所述待测试设备的roofline模型,对所述待测试设备进行处理,以提高所述待测试深度学习模型的预测性能,所述待测试设备用于对所述待测试深度学习模型进行运算;
每组所述矩阵中包括第一矩阵和第二矩阵,所述第一矩阵的列数和所述第二矩阵的行数相同;
每组所述矩阵的维度信息包括:所述第一矩阵的维度信息和所述第二矩阵的维度信息;所述获取所述待测试设备的roofline模型,包括:
根据每组所述矩阵中所述第一矩阵的维度信息、所述第二矩阵的维度信息、所述结果矩阵的维度信息,获取每组所述矩阵对应的矩阵乘的运算量和数据量;
根据每组所述矩阵对应的所述矩阵乘的运算量和数据量,获取每组所述矩阵对应的运算强度;
根据每组所述矩阵对应的所述矩阵乘的运算量和所述待测试设备的运算时间,获取每组所述矩阵对应的所述待测试设备的运算性能;
根据每组所述矩阵对应的运算强度和所述待测试设备的运算性能,获取所述待测试设备的roofline模型。
2.根据权利要求1所述的方法,其特征在于,所述向待测试设备发送多组矩阵之前,还包括:
接收多个维度信息,根据所述多个维度信息生成每个所述维度信息对应的每组所述矩阵。
3.根据权利要求1所述的方法,其特征在于,所述获取每组所述矩阵对应的矩阵乘的运算量和数据量,包括:
根据如下公式一获取每组所述矩阵对应的矩阵乘的运算量C:
C=(m×k×n)×a公式一
根据如下公式二获取每组所述矩阵对应的矩阵乘的数据量M:
M=(m×k+k×n+m×n)×b公式二
其中,m为每组所述矩阵中所述第一矩阵的行数,k为每组所述矩阵中所述第一矩阵的列数、所述第二矩阵的行数,n为每组所述矩阵中所述第二矩阵的列数,a和b为常数。
4.根据权利要求1所述的方法,其特征在于,所述获取所述待测试设备的roofline模型之前,还包括:
判断每个所述结果矩阵是否正确;
若否,则将错误的结果矩阵对应的第一矩阵和第二矩阵发送给待测试设备,以使所述待测试设备重新进行矩阵乘运算。
5.根据权利要求2所述的方法,其特征在于,所述第一矩阵的维度信息和所述第二矩阵的维度信息相同;
所述根据所述多个维度信息生成每个所述维度信息对应的每组所述矩阵,包括:
依次接收每个维度信息,生成每个所述维度信息对应的每组所述矩阵,直至接收到的维度信息包括的所述第一矩阵的维度信息与预设维度信息相同;后一次接收到的维度信息包括的所述第一矩阵的维度大于前一次接收到的维度信息包括的所述第一矩阵的维度;
所述向待测试设备发送多组矩阵,包括:
依次向所述待测试设备发送生成的每个维度信息对应的每组所述矩阵。
6.一种电子设备,其特征在于,包括:
收发模块,用于向待测试设备发送多组矩阵,以使所述待测试设备对每组所述矩阵中的至少两个矩阵进行矩阵乘运算并输出运算结果,所述运算结果为结果矩阵,其中每组所述矩阵具有不同的维度信息,所述维度信息用于指示矩阵乘运算的运算量和数据量,其中每组所述矩阵包括至少两个矩阵,所述每组矩阵的维度信息包括至少两个矩阵的维度信息;
计时模块,用于获取所述待测试设备输出每个所述运算结果的运算时间;
roofline模型绘制模块,用于根据每组所述矩阵中的至少两个矩阵的维度信息、每组所述矩阵对应的结果矩阵的维度信息,以及所述待测试设备获取每个所述运算结果的运算时间,获取所述待测试设备的roofline模型;
处理模块,用于根据待测试深度学习模型的运算量和数据量,以及所述待测试设备的roofline模型,对所述待测试设备进行处理,以提高所述待测试深度学习模型的预测性能,所述待测试设备用于对所述待测试深度学习模型进行运算;
每组所述矩阵中包括第一矩阵和第二矩阵,所述第一矩阵的列数和所述第二矩阵的行数相同;
所述roofline模型绘制模块,具体用于根据每组所述矩阵中所述第一矩阵的维度信息、所述第二矩阵的维度信息、所述结果矩阵的维度信息,获取每组所述矩阵对应的矩阵乘的运算量和数据量;根据每组所述矩阵对应的所述矩阵乘的运算量和数据量,获取每组所述矩阵对应的运算强度;根据每组所述矩阵对应的所述矩阵乘的运算量和所述待测试设备的运算时间,获取每组所述矩阵对应的所述待测试设备的运算性能;根据每组所述矩阵对应的运算强度和所述待测试设备的运算性能,获取所述待测试设备的roofline模型。
7.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现权利要求1-5任一项所述的方法。
CN201910379961.0A 2019-05-08 2019-05-08 提高深度学习模型预测能力的方法、电子设备和存储介质 Active CN110276096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910379961.0A CN110276096B (zh) 2019-05-08 2019-05-08 提高深度学习模型预测能力的方法、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910379961.0A CN110276096B (zh) 2019-05-08 2019-05-08 提高深度学习模型预测能力的方法、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN110276096A CN110276096A (zh) 2019-09-24
CN110276096B true CN110276096B (zh) 2023-04-18

Family

ID=67959804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910379961.0A Active CN110276096B (zh) 2019-05-08 2019-05-08 提高深度学习模型预测能力的方法、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN110276096B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111461340B (zh) * 2020-03-10 2023-03-31 北京百度网讯科技有限公司 权重矩阵的更新方法、装置及电子设备
CN111967606A (zh) * 2020-07-17 2020-11-20 苏州浪潮智能科技有限公司 一种深度学习基准测试优化方向的选择方法及装置
CN111949938B (zh) * 2020-08-13 2023-06-20 抖音视界有限公司 异动信息的确定方法、装置、电子设备和计算机可读介质
CN115878437A (zh) * 2021-09-28 2023-03-31 华为技术有限公司 应用的性能测试方法、建立性能测试模型的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636489B (zh) * 2015-02-27 2018-04-13 百度在线网络技术(北京)有限公司 描述属性数据的处理方法和装置
EP3348000A1 (en) * 2016-09-13 2018-07-18 Telefonaktiebolaget LM Ericsson (publ) Mu-mimo communication in systems with antenna subarrays
US10127438B1 (en) * 2017-08-07 2018-11-13 Standard Cognition, Corp Predicting inventory events using semantic diffing
CN109033309B (zh) * 2018-07-17 2023-04-07 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110276096A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN110276096B (zh) 提高深度学习模型预测能力的方法、电子设备和存储介质
US10528864B2 (en) Sparse convolutional neural network accelerator
KR101533516B1 (ko) Scale, round, getexp, round, getmant, reduce, range 및 class 명령어들을 실행할 수 있는 곱셈 덧셈 기능 유닛
CN107273090A (zh) 面向神经网络处理器的近似浮点乘法器及浮点数乘法
CN111542839B (zh) 一种反卷积神经网络的硬件加速方法、装置和电子设备
US11169778B2 (en) Converting floating point numbers to reduce the precision
CN109634558A (zh) 可编程的混合精度运算单元
CN114818600A (zh) 一种芯片验证方法、装置、电子设备以及存储介质
CN113885941A (zh) 一种奇异值分解运算实现方法、装置以及相关设备
EP2871799A1 (en) Method and apparatus for processing shuffle instructions
TW200532552A (en) Methods and apparatus for performing mathematical operations using scaled integers
CN104572588A (zh) 矩阵求逆处理方法和装置
CN116841811A (zh) 芯片寄存器的测试方法、装置、电子设备及存储介质
Panda Performance Analysis and Design of a Discreet Cosine Transform processor Using CORDIC algorithm
CN108008999B (zh) 指标评估方法及装置
CN110287028B (zh) 一种模式切换的方法以及相关装置
CN113327217A (zh) 一种卷积处理方法、装置、计算机设备及存储介质
CN114003198A (zh) 内积处理部件、任意精度计算设备、方法及可读存储介质
CN113986194A (zh) 基于预处理的神经网络近似乘法器实现方法及装置
CN109460533B (zh) 一种提高gemm计算性能的方法及装置
GB2567038B (en) Accessing prologue and epilogue data
CN105897278B (zh) 信息处理方法及存储设备
CN106569778B (zh) 一种数据处理的方法及电子设备
RU2271569C2 (ru) Нейронная сеть для вычисления позиционной характеристики ранга числа, представленного в системе остаточных классов
CN110750249B (zh) 一种快速傅里叶变换代码的生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant