【技术实现步骤摘要】
神经网络方法、神经网络系统和计算机可读介质
本专利技术的实施例大致涉及包括神经网络(NN)和存储器的数据和计算处理。更具体地,本专利技术的实施例涉及用于改善NN推断性能的存储器布局和转换。
技术介绍
神经网络(NN)是一种模仿人脑的机器学习。例如,NN接收输入(向量),并通过由节点(神经元)构成的一系列隐藏层,使用权重或过滤器来变换输入。每个节点可以连接到前一层中的节点以接收输入,最后一个输出层或完全连接层可以提供分类或类别分数。一种常用于图像分类的NN是卷积神经网络(CNN)——例如,使用CNN来确定输入图像是否显示车辆。CNN包括具有可学习的权重和偏差的节点(神经元)层。每个节点可以接收输入,并使用权重对每个输入执行点积(内核计算),以在不同输入之间求和。加权和被馈送到另一节点层中,从而使得输出层的分数可区分——即,一端的原始图像像素输入对输出端的分数进行分类以用于对图像进行分类。对于CNN来说,在每个节点生成激活或结果可能需要大量的计算,这特别是因为CNN可能在每个层上具有以多个维度(例如宽度、高度和深度)排列 ...
【技术保护点】
1.一种神经网络方法,其包括:/n基于从神经网络NN的性能模拟导出的阈值,在多个不同的存储器布局中选择所述NN的存储器布局;以及/n在NN推断期间,使用所选择的存储器布局存储多维NN内核计算数据。/n
【技术特征摘要】
20190430 US 16/399,3901.一种神经网络方法,其包括:
基于从神经网络NN的性能模拟导出的阈值,在多个不同的存储器布局中选择所述NN的存储器布局;以及
在NN推断期间,使用所选择的存储器布局存储多维NN内核计算数据。
2.根据权利要求1所述的神经网络方法,其中,选择所述存储器布局包括:如果基于输入数据的通道数量C小于通道数量阈值Ct,或者如果基于所述输入数据的批次数量N等于或大于批次数量阈值Nt,则选择通道、高度、宽度和批次CHWN布局。
3.根据权利要求2所述的神经网络方法,其中,选择所述存储器布局包括:如果当前NN层每秒10亿次的浮点运算次数GFlops除以当前NN层存储器大小大于特征映射阈值Fmt,则选择批次、高度、宽度和通道NHWC布局。
4.根据权利要求3所述的神经网络方法,其还包括:
将所述Ct、Nt和Fmt阈值存储在元文件中。
5.根据权利要求3所述的神经网络方法,其中,所述选择所述存储器布局包括:如果未选择所述CHWN和NHWC布局,则选择批次、通道、高度和宽度NCHW布局。
6.根据权利要求1所述的神经网络方法,其中,存储所述多维NN内核计算数据包括:如果所述多维NN内核计算数据未采用所选择的存储器布局,则针对所选择的存储器布局变换所述多维NN内核计算数据。
7.根据权利要求6所述的神经网络方法,其中,在硬件中执行变换所述多维NN内核计算数据。
8.一种神经网络系统,其包括:
一个或多个存储器,存储输入特征映射;
多个乘法累加单元MAC,用于接收所述输入特征映射,以执行神经网络NN的内核计算;以及
变换逻辑,用于采用基于从所述NN的性能模拟中导出的阈值在多个不同的存储器布局中为所述NN选择的存储器布局来存储所述输出内核计算。
9.根据权利要求8所述的神经网络系统,其中,如果基于所述输入特征映射的通道数量C小于通道数量阈值Ct,或者如果基于所述输入特征映射的批次数量N等于或大于批次数量阈值Nt,则所选择的存储器布局是通道、高度、宽度和批次CHWN布局。
10.根据权利要求9所述的神经网络系统,其中,如果当前NN层每秒10亿次的浮点运算次数GFlops除以当前NN层存储器大小大于输入特征映射阈值Fmt,则所选择的...
【专利技术属性】
技术研发人员:郭敏,
申请(专利权)人:百度美国有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。