【技术实现步骤摘要】
神经网络计算装置和数据读取、数据存储方法及相关设备
本申请涉及神经网络
,尤其涉及一种神经网络计算装置和数据读取、数据存储方法及相关设备。
技术介绍
普通的卷积神经网络(ConvolutionalNeuralNetwork,CNN)能够显式的学习平移不变性,以及隐式的学习旋转不变性,但注意力模型(attentionmodel)表明,与其让网络隐式的学习到某种能力,不如为网络设计一个显式的处理模块,专门处理以上的各种变换。因此,深度思考(DeepMind)就设计了空间变换网络(SpatialTransformNetwork,STN)来实现各种变换,STN实现各种变换的过程包括参数预测、坐标映射和像素采样。经过STN变换得到的目标图像像素点坐标是规律的,例如一个宽度为w,高度为h的目标图像,像素点可以从(0,0)一直到(w-1,h-1),而根据目标图像像素点坐标通过坐标映射计算出来的源图像像素点坐标点是随机的。由于现有技术将源图像像素点数据存储在外部,在像素采样时,空间变换网络计算装置需要频繁去外部的双倍速率同步动态随机存 ...
【技术保护点】
1.一种神经网络计算装置,其特征在于,所述神经网络计算装置包括系统控制模块、计算模块、总线控制接口模块和内部存储模块,所述系统控制模块与所述计算模块通信连接,所述总线控制接口模块分别与所述计算模块和所述内部存储模块通信连接,所述神经网络计算装置通过所述总线控制接口模块与外部存储模块通信连接;/n所述内部存储模块存储有第一源图像像素点数据,所述外部存储模块存储有第二源图像像素点数据,所述第一源图像像素点数据和所述第二源图像像素点数据组成一张源图像的像素点数据;/n所述系统控制模块,用于向所述计算模块发送计算启动信号,所述计算启动信号包括目标图像像素点坐标和变换参数;/n所述计 ...
【技术特征摘要】
1.一种神经网络计算装置,其特征在于,所述神经网络计算装置包括系统控制模块、计算模块、总线控制接口模块和内部存储模块,所述系统控制模块与所述计算模块通信连接,所述总线控制接口模块分别与所述计算模块和所述内部存储模块通信连接,所述神经网络计算装置通过所述总线控制接口模块与外部存储模块通信连接;
所述内部存储模块存储有第一源图像像素点数据,所述外部存储模块存储有第二源图像像素点数据,所述第一源图像像素点数据和所述第二源图像像素点数据组成一张源图像的像素点数据;
所述系统控制模块,用于向所述计算模块发送计算启动信号,所述计算启动信号包括目标图像像素点坐标和变换参数;
所述计算模块,用于根据所述目标图像像素点坐标和所述变换参数计算得到第三源图像像素点数据的存储地址信息,以及向所述总线控制接口模块发送所述存储地址信息;
所述总线控制接口模块,用于根据所述存储地址信息从所述内部存储模块和/或所述外部存储模块中读取所述第三源图像像素点数据,以及向所述计算模块发送所述第三源图像像素点数据;
所述计算模块,还用于根据所述第三源图像像素点数据计算得到目标图像像素点数据。
2.根据权利要求1所述的装置,其特征在于,所述第一源图像像素点数据为所述源图像中纵坐标不大于预设阈值的第一源图像像素点的像素点数据,所述第二源图像像素点数据为所述源图像中纵坐标大于所述预设阈值的第二源图像像素点的像素点数据。
3.根据权利要求1或2所述的装置,其特征在于,所述计算模块包括:
坐标计算单元,用于根据所述目标图像像素点坐标和所述变换参数计算得到源图像像素点坐标;
地址计算单元,用于根据所述源图像像素点坐标计算得到所述存储地址信息,以及向所述总线控制接口模块发送所述存储地址信息;
像素计算单元,用于根据所述第三源图像像素点数据计算得到所述目标图像像素点数据。
4.根据权利要求3所述的装置,其特征在于,所述地址计算单元包括:
坐标判断子单元,用于判断所述源图像像素点坐标的纵坐标是否大于所述预设阈值,以及在所述源图像像素点坐标的纵坐标大于所述预设阈值的情况下向所述坐标计算单元发送外部读取数据等待信号,所述外部读取数据等待信号用于指示所述坐标计算单元暂停计算;
内部存储地址计算子单元,用于所述源图像像素点坐标的纵坐标不大于所述预设阈值的情况下,根据所述源图像像素点坐标计算得到第一存储地址信息,所述第一存储地址信息为所述第三源图像像素点数据在所述内部存储模块的存储地址信息;
外部存储地址计算子单元,用于所述源图像像素点坐标的纵坐标大于所述预设阈值的情况下,根据所述源图像像素点坐标计算得到第二存储地址信息,所述第二存储地址信息为所述第三源图像像素点数据在所述外部存储模块的存储地址信息。
5.根据权利要求4所述的装置,其特征在于,在根据所述源图像像素点坐标计算得到第一存储地址信息方面,所述内部存储地址计算子单元,具体用于:
若所述源图像像素点坐标的纵坐标、横坐标均为偶数,则根据所述源图像像素点坐标的纵坐标、横坐标以及所述源图像的宽度确定第一地址偏移量;
若所述源图像像素点坐标的纵坐标为偶数、横坐标为奇数,则根据所述源图像像素点坐标的纵坐标、横坐标以及所述源图像的宽度确定第二地址偏移量;
若所述源图像像素点坐标的纵坐标为奇数、横坐标为偶数,则根据所述源图像像素点坐标的纵坐标、横坐标以及所述源图像的宽度确定第三地址偏移量;
若所述源图像像素点坐标的纵坐标、横坐标均为奇数,则根据所述源图像像素点坐标的纵坐标、横坐标以及所述源图像的宽度确定第四地址偏移量。
6.根据权利要求5所述的装置,其特征在于,在根据所述源图像像素点坐标的纵坐标、横坐标以及所述源图像的宽度确定第一地址偏移量方面,所述内部存储地址计算子单元,具体用于:
将所述源图像的宽度除以2后取整,得到第一宽度值;
若所述第一宽度值为奇数,则将所述第一宽度值加1,得到第二宽度值;
若所述第一宽度值为偶数,则将所述第一宽度值作为所述第二宽度值;
将所述源图像像素点坐标的纵坐标除以2后取整,得到第一纵坐标值;
将所述源图像像素点坐标的横坐标除以2后取整,得到第一横坐标值;
将所述第二宽度值乘以所述第一纵坐标值,再加上所述第一横坐标值,得到所述第一地址偏移量。
7.根据权利要求5所述的装置,其特征在于,在根据所述源图像像素点坐标的纵坐标、横坐标以及所述源图像的宽度确定第二地址偏移量方面,所述内部存储地址计算子单元,具体用于:
将所述源图像的宽度除以2,得到第三宽度值;
将所述源图像像素点坐标的纵坐标除以2后取整,得到第二纵坐标值;
将所述源图像像素点坐标的横坐标除以2后取整,得到第二横坐标值;
将所述第三宽度值乘以所述第二纵坐标值,再加上所述第二横坐标值,得到所述第二地址偏移量。
8.根据权利要求5所述的装置,其特征在于,在根据所述源图像像素点坐标的纵坐标、横坐标以及所述源图像的宽度确定第三地址偏移量方面,所述内部存储地址计算子单元,具体用于:
将所述源图像的宽度除以2后取整,得到第四宽度值;
若所述第四宽度值为奇数,则将所述第四宽度值加1,得到第五宽度值;
若所述第四宽度值为偶数,则将所述第四宽度值作为所述第五宽度值;
若所述源图像像素点坐标的纵坐标为奇数,则将所述源图像像素点坐标的纵坐标加1,得到第三纵坐标值;
若所述源图像像素点坐标的纵坐标为偶数,则将所述源图像像素点坐标的纵坐标作为所述第三纵坐标值;
将所述第三纵坐标值除以2后取整,得到第四纵坐标值;
将所述源图像像素点坐标的横坐标除以2后取整,得到第三横坐标值;
将所述第五宽度值乘以所述第四纵坐标值,再加上所述第三横坐标值,得到第一数值;
若所述源图像像素点坐标的横坐标为奇数,则将所述第一数值加1,得到所述第三地址偏移量;
若所述源图像像素点坐标的横坐标为偶数,则将所述第一数值作为所述第三地址偏移量。
9.根据权利要求5所述的装置,其特征在于,在根据所述源图像像素点坐标的纵坐标、横坐标以及所述源图像的宽度确定第四地址偏移量方面,所述内部存储地址计算子单元,具体用于:
将所述源图像的宽度加1,得到第六宽度值;
若所述源图像像素点坐标的纵坐标为奇数,则将所述源图像像素点坐标的纵坐标加1,得到第五纵坐标值;
若所述源图像像素点坐标的纵坐标为偶数,则将所述源图像像素点坐标的纵坐标作为所述第五纵坐标值;
将所述第五纵坐标值除以2后取整,得到第六纵坐标值;
将所述源图像像素点坐标的横坐标除以2后取整,得到第四横坐标值;
将所述第六宽度值乘以所述第六纵坐标值,再加上所述第四横坐标值,得到第二数值;
若所述源图像像素点坐标的横坐标为奇数,则将所述第二数值加1,得到所述第四地址偏移量;
若所述源图像像素点坐标的横坐标为偶数,则将所述第二数值作为所述第四地址偏移量。
10.根据权利要求5所述的装置,其特征在于,所述内部存储模块包括:
第一存储单元,用于存储所述第一源图像像素点数据中偶数行偶数列像素点的源图像像素点数据;
第二存储单元,用于存储所述第一源图像像素点数据中偶数行奇数列像素点的源图像像素点数据;
第三存储单元,用于存储所述第一源图像像素点数据中奇数行偶数列像素点的源图像像素点数据;
第四存储单元,用于存储所述第一源图像像素点数据中奇数行奇数列像素点的源图像像素点数据。
11.根据权利要求10所述的装置,其特征在于,所述总线控制接口模块,具体用于:
根据所述第一地址偏移量从所述第一存储单元中读取所述第三源图像像素点数据;
和/或根据所述第二地址偏移量从所述第二存储单元中读取所述第三源图像像素点数据;
和/或根据所述第三地址偏移量从所述第三存储单元中读取所述第三源图像像素点数据;
和/或根据所述第四地址偏移量从所述第四存储单元中读取所述第三源图像像素点数据。
12.根据权利要求4所述的装置,其特征在于,所述源图像像素点坐标包括第一源图像像素点的坐标、第二源图像像素点的坐标、第三源图像像素点的坐标和第四源图像像素点的坐标,所述第一源图像像素点和所述第二源图像像素点的纵坐标相同,所述第三源图像像素点和所述第四源图像像素点的纵坐标相同,所述第一源图像像素点和所述第三源图像像素点的横坐标相同,所述第二源图像像素点和所述第四源图像像素点的横坐标相同,在根据所述源图像像素点坐标计算得到第二存储地址信息方面,外部存储地址计算子单元,用于:
根据图像存储起始地址、所述源图像的宽度、所述第一源图像像素点的纵坐标和所述第一源图像像素点的横坐标确定所述第一源图像像素点的第一存储地址,以及将所述第一存储地址后的一个存储地址作为所述第二源图像像素点的第二存储地址;
根据所述图像存储起始地址、所述源图像的宽度、所述第三源图像像素点的纵坐标和所述第三源图像像素点的横坐标确定所述第三源图像像素点的第三存储地址,以及将所述第三存储地址后的一个存储地址作为所述第四源图像像素点的第四存储地址。
13.根据权利要求12所述的装置,其特征在于,根据以下公式确定所述第一存储地址:
所述第一存储地址=所述图像存储起始地址+所述第一源图像像素点的纵坐标×所述源图像的宽度+所述第一源图像像素点的横坐标。
14.根据权利要求12所述的装置,其特征在于,根据以下公式确定所述第三存储地址:
所述第三存储地址=所述图像存储起始地址+(所述第三源图像像素点的纵坐标+1)×所述源图像的宽度+所述第三源图像像素点的横坐标。
15.根据权利要求12所述的装置,其特征在于,所述总线控制接口模块,具体用于:
根据所述第一存储地址和所述第二存储地址从所述外部存储模块中读取一次像素点数据,得到所述第一源图像像素点的像素点数据和所述第二源图像像素点的像素点数据;
根据所述第三存储地址和所述第四存储地址从所述外部存储模块中读取一次像素点数据,得到所述第三源图像像素点的像素点数据和所述第四源图像像素点的像素点数据。
16.根据权利要求1-15任一项所述的装置,其特征在于,所述装置还包括:
输出缓存模块,用于缓存所述目标图像像素点数据。
17.根据权利要求1-15任一项所述的装置,其特征在于,所述系统控制模块还与所述总线控制接口模块通信连接,所述系统控制模块,还用于向所述总线控制接口模块发送读取数据开始信号。
18.一种数据读取方法,其特征在于,应用于神经网络计算装置,所述神经网络计算装置包括内部存储模块,所述神经网络计算装置与一外部存储模块通信连接,所述内部存储模块存储有第一源图像像素点数据,所述外部存储模块存储有第二源图像像素点数据,所述第一源图像像素点数据和所述第二源图像像素点数据组成一张源图像的像素点数据,所述方法包括:
确定源图像像素点坐标;
若所述源图像像素点坐标的纵坐标不大于预设阈值,则根据所述源图像像素点坐标从所述内部存储模块中读取第三源图像像素点数据;
若所述源图像像素点坐标的纵坐标大于所述预设阈值,则根据所述源图像像素点坐标从所述外部存储模块中读取所述第三源图像像素点数据。
19.根据权利要求18所述的方法,其特征在于,所述确定源图像像素点坐标,包括:
获取目标图像像素点坐标;
根据所述目标图像像素点坐标计算得到源图像像素点坐标。
20.根据权利要求18或19所述的方法,其特征在于,所述根据所述源图像像素点坐标从所述内部存储模块中读取第三源图像像素点数据,包括:
根据所述源图像像素点坐标计算得到第一存储地址信息;
根据所述第一存储地址信息从所述内部...
【专利技术属性】
技术研发人员:蒋文,
申请(专利权)人:深圳云天励飞技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。