【技术实现步骤摘要】
数据转换电路、方法、电子设备和计算机可读存储介质
[0001]本申请涉及人工智能
,特别是涉及一种数据转换电路、方法、电子设备和计算机可读存储介质。
技术介绍
[0002]在人工智能技术中,神经网络是一种非常流行的机器学习算法,其在各种领域中都取得了非常好的效果,比如图像处理领域。随着神经网络的发展,不断有新的神经网络被提出来。为了提高神经网络的运算效率,不同的神经网络适用的数据格式可能不同。因此,当输入到神经网络的源数据格式不适用于该神经网络时就需要对数据格式进行转换。
[0003]目前通常采用处理器对数据格式进行转换,但这种方式会造成带宽资源的过度占用问题。
技术实现思路
[0004]本申请实施例提供了一种数据转换电路、方法、电子设备和计算机可读存储介质,能够避免由于采用处理器对数据格式进行转换造成的带宽资源的过度占用问题。
[0005]一种数据转换电路,所述数据转换电路包括:所述数据转换电路包括数据转换模块、存储模块和输出控制模块。
[0006]所述数据转换模块,用于接收初始特征图数据,并将所述初始特征图数据按照数据通道进行分离提取后,按照所述数据通道将提取得到的数据分别存储至所述存储模块中;所述初始特征图数据为第一数据格式。
[0007]所述输出控制模块,用于按照第二数据格式将所述存储模块中存储的数据输出至处理器,所述第二数据格式适于由所述处理器执行的神经网络加速运算。
[0008]一种电子设备,所述电子设备包括处理器以及上述的数据转换电路。 />[0009]一种数据转换方法,所述方法包括:
[0010]接收初始特征图数据,并将所述初始特征图数据按照数据通道进行分离提取后,按照所述数据通道将提取得到的数据分别存储;所述初始特征图数据为第一数据格式。
[0011]按照第二数据格式将存储的数据输出至处理器。
[0012]一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0013]接收初始特征图数据,并将所述初始特征图数据按照数据通道进行分离提取后,按照所述数据通道将提取得到的数据分别存储;所述初始特征图数据为第一数据格式。
[0014]按照第二数据格式将存储的数据输出至处理器,所述第二数据格式适于由所述处理器执行的神经网络加速运算。
[0015]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0016]接收初始特征图数据,并将所述初始特征图数据按照数据通道进行分离提取后,
按照所述数据通道将提取得到的数据分别存储;所述初始特征图数据为第一数据格式。
[0017]按照第二数据格式将存储的数据输出至处理器。
[0018]上述一种数据转换电路、方法、电子设备和计算机可读存储介质,通过数据转换模块对接收的第一数据格式的初始特征图数据,按照数据通道进行分离提取,从而获取各数据通道中的数据。并且,数据转换模块将各数据通道中的数据分别存储至存储模块,使得输出控制模块能够按照第二数据格式将存储模块中存储的数据输出至处理器。无需处理器再对数据格式进行转换,以便减少处理器在处理数据格式转换的过程中,对带宽资源的占用,提高了处理器的性能。
附图说明
[0019]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为一个实施例中数据处理电路的结构框图;
[0021]图2为一个实施例中特征图的结构示意图;
[0022]图3为一个实施例中HWC格式的数据排列方式的结构示意图;
[0023]图4为一个实施例中CHW格式的数据排列方式的结构示意图;
[0024]图5为一个实施例中HCW格式的数据排列方式的结构示意图;
[0025]图6为又一个实施例中数据处理电路的结构框图;
[0026]图7为一个实施例中数据抽离单元的结构示意图;
[0027]图8为一个实施例中数据拼接单元的结构示意图;
[0028]图9为一个实施例中电子设备的结构示意图;
[0029]图10为一个实施例中数据转换方法的结构框图
[0030]图11为一个实施例中电子设备的结构框图。
[0031]元件标号说明:
[0032]数据转换电路:100;数据转换模块:10;存储模块:20;输出控制模块:30;数据转换子模块:11;数据抽离单元:111;数据拼接单元:112;存储单元:201,电子设备:90;处理器:91。
具体实施方式
[0033]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0034]可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
[0035]在人工智能技术中,常见的深度学习软件框架如TensorFlow,PyTorch,PaddlePaddle,高度、宽度、通道(height width channel,HWC)格式或通道、高度、宽度(channel height width,CHW)格式占据主流。由此,导致基于这些深度学习软件框架而开发的人工智能(artificial intelligence,AI)算法模型的输入数据通常也就是这两种排列的数据。例如,人工智能算法中的神经网络算法是通过神经网络处理器来对其进行加速运算。神经网络处理器在进行加速运算时,数据必须按照其所使用的数据格式。如果数据格式不符合预期,则必须先进行格式转换。由于HWC和CHW最为常见,所以HWC转CHW或者CHW转HWC都是常见的操作。
[0036]相对来讲,HCW格式较为少见,只在一些特定的AI算法中会用到,所以由HWC到HCW的转换和由CHW到HCW的转换是需要处理器进行一次或多次转换才能得到,并且每多一次转换都要多一次读取存储设备的操作,和多一次写入存储设备的操作。因此,由数据格式转换而引入的对存储设备的频繁读写会占用系统带宽,造成系统性能的下降,进而导致处理器性能下降的问题。如果不借助处理器进行转换,而是通过软件来进行这种格式的转换,那么效率将会更低,系统性能下降更为严重。
[0037]基于此,本申请实施例提供一种数据转换电路、方法、电子设备和计算机可读存储介质,以解决上述问题。本申请实施例的技术原理本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据转换电路,其特征在于,所述数据转换电路包括数据转换模块、存储模块和输出控制模块;所述数据转换模块,用于接收初始特征图数据,并将所述初始特征图数据按照数据通道进行分离提取后,按照所述数据通道将提取得到的数据分别存储至所述存储模块中;所述初始特征图数据为第一数据格式;所述输出控制模块,用于按照第二数据格式将所述存储模块中存储的数据输出至处理器,所述第二数据格式适于由所述处理器执行的神经网络加速运算。2.根据权利要求1所述的数据转换电路,其特征在于,所述数据转换模块包括多个数据转换子模块;不同的数据通道对应不同的所述数据转换子模块;所述数据转换子模块,用于从所述初始特征图数据中提取出对应的所述数据通道的数据,并将提取到的所述数据通道的数据存储至所述存储模块。3.根据权利要求2所述的数据转换电路,其特征在于,所述数据转换子模块包括数据抽离单元以及数据拼接单元;所述数据抽离单元,用于从所述初始特征图数据中提取出对应的所述数据通道的数据,并将提取到的所述数据通道的数据传输至所述数据拼接单元;所述数据拼接单元,用于对连续多次提取到的所述数据通道的数据进行拼接,得到拼接后的数据,并在提取到所述数据通道的数据达到预设数量的情况下,将所述拼接后的数据存储至所述存储模块。4.根据权利要求2或3所述的数据转换电路,其特征在于,所述数据转换子模块的数量大于或等于所述数据通道的数量。5.根据权利要求2或3所述的数据转换电路,其特征在于,所述存储模块包括多个存储单元,所述存储单元与所述数据转换子模块一一对应;所述存储单元,用于存储对应的所述数据转换子模块提取到的所述数据通道的数据。6.根据权利要求5所述的数据转换电路,其特征在于,所述输出控制模块,用于按照各所述数据通道的排列顺序,依次读取各所述存储单元中存储的所述数据通道的数据,并将读取的所述数据通道的数据按照所述第二数据格式输出至所述处理器。7.根据权利要求6所述的数据转换电路,其特征在于,所述输出控制模块,用于在所述存储单元的存储容量大于所述数据通道的一行数据的数据量的情况下...
【专利技术属性】
技术研发人员:李彦良,
申请(专利权)人:哲库科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。