自动驾驶的同步计算方法、装置、系统、程序产品及介质与流程

文档序号:27632588发布日期:2021-11-29 16:32阅读:102来源:国知局
自动驾驶的同步计算方法、装置、系统、程序产品及介质与流程

1.本发明涉及自动驾驶技术领域,尤其涉及自动驾驶的同步计算方法、系统、程序产品及介质。


背景技术:

2.随着深度学习技术的飞速发展,rnn(recurrent neural network,循环神经网络)算法的应用也越来越广泛。例如,在自动驾驶领域中,可通过rnn算法获取更加准确的预测结果,为后续自动驾驶车辆的行驶规划和决策提供更加可靠的预测数据。
3.目前,用于实现rnn算法的落地方式主要包括gpu(graphics processing unit,图形处理器)、cpu(central processing unit,中央处理器)和asic(专用集成芯片),但上述三种落地方式都是采用分时计算的方式来处理的。例如,若采用分时并行的方式进行处理,则无法根据外部目标的目标数来动态调整系统的计算方式,而为了适应外部不同目标数的情况,一般会更换一个更大容量的芯片,这样会造成资源和成本的增加;若采用分时串行的方式进行处理,虽然可以适配不同的外部目标数,但在实际处理时,实现rnn算法的计算单元需要按照一定的顺序依次计算一个或者两个外部目标信息,直到计算完目标车辆外部的多个目标信息,因此采用分时串行的方式进行处理时,不能同时计算多个外部目标信息。
4.由此可见,现有的自动驾驶计算方案,要么不能灵活地适配各种变化的外部目标数,要么在适配各种外部目标数时不能获得高度的同步性,影响预测精度,因此,如何平衡自动驾驶过程中的动态适配性和预测精度,成为各大厂家的主要研究方向。


技术实现要素:

5.本发明的主要目的在于提出一种自动驾驶的同步计算方法、系统、程序产品及介质,旨在不增加额外的资源成本,通过动态适配不同的外部目标的目标数,达到处理过程的高同步预测精度。
6.为实现上述目的,本发明提供一种自动驾驶的同步计算方法,所述方法包括如下步骤:
7.获取当前时刻目标车辆周围的外部目标的目标数,以及各所述外部目标对应的目标数据;
8.根据所述目标数将各所述目标数据发送至对应的计算单元块,并通过各所述计算单元块分别对接收到的目标数据进行计算,得到对应的计算结果;
9.根据所述计算结果确定所述目标车辆在下一时刻的行驶策略,以供所述目标车辆根据所述行驶策略进行行驶。
10.优选地,所述根据所述目标数将各所述目标数据发送至对应的计算单元块的步骤包括:
11.获取所述计算单元块的总数目,并根据所述目标数和所述计算单元块的总数目确定各所述外部目标对应的计算单元块;
12.将各所述外部目标相应的目标数据发送至对应的计算单元块。
13.优选地,所述将各所述外部目标相应的目标数据发送至对应的计算单元块的步骤包括:
14.获取各所述目标数据对应的数据维度,并按照所述数据维度对各所述目标数据进行分类,得到分类后的维度数据;
15.将各所述外部目标相应的维度数据发送至对应的计算单元块。
16.优选地,所述将各所述外部目标相应的维度数据发送至对应的计算单元块的步骤包括:
17.分别获取各所述外部目标对应的计算单元块数目;
18.若外部目标对应的计算单元块数目至少为两个,则对所述外部目标对应的目标维度数据进行分组处理,并将分组处理后的目标维度数据分发至所述外部目标对应的多个计算单元块;
19.若外部目标对应的计算单元块数目为一个,则将所述外部目标相应的目标维度数据发送至对应的计算单元块。
20.优选地,各所述计算单元块分别包括计算矩阵,各所述计算矩阵分别包括不同数据维度的数据列,所述将各所述外部目标相应的维度数据发送至对应的计算单元块的步骤包括:
21.若外部目标对应的计算单元块数目至少为两个,则将分组处理后的目标维度数据分别分发至对应的多个计算单元块中相同数据维度的数据列;
22.或者,
23.若外部目标对应的计算单元块数目为一个,则将所述外部目标相应的目标维度数据分别发送至对应的计算单元块中相同数据维度的数据列。
24.优选地,所述通过各所述计算单元块分别对接收到的目标数据进行计算,得到对应的计算结果的步骤包括:
25.分别获取各所述计算矩阵中每一行对应的权重参数;
26.在各所述计算矩阵中根据每一行对应的权重参数对每一列的维度数据进行计算,得到对应的计算结果。
27.此外,为实现上述目的,本发明还提供一种自动驾驶的同步计算装置,所述自动驾驶的同步计算装置包括:
28.获取模块,用于获取当前时刻目标车辆周围的外部目标的目标数,以及各所述外部目标对应的目标数据;
29.计算模块,用于根据所述目标数将各所述目标数据发送至对应的计算单元块,并通过各所述计算单元块分别对接收到的目标数据进行计算,得到对应的计算结果;
30.行驶模块,用于根据所述计算结果确定所述目标车辆在下一时刻的行驶策略,以供所述目标车辆根据所述行驶策略进行行驶。
31.此外,为实现上述目的,本发明还提供一种程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的自动驾驶的同步计算方法的步骤。
32.此外,为实现上述目的,本发明还提供一种自动驾驶的同步计算系统,所述自动驾驶的同步计算系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行
的自动驾驶的同步计算程序,所述自动驾驶的同步计算程序被所述处理器执行时实现如上所述的自动驾驶的同步计算方法的步骤。
33.此外,为实现上述目的,本发明还提供一种介质,所述介质优选为计算机可读存储介质,所述介质上存储有自动驾驶的同步计算程序,所述自动驾驶的同步计算程序被处理器执行时实现如上所述的自动驾驶的同步计算方法的步骤。
34.本发明提出的自动驾驶的同步计算方法,通过获取当前时刻目标车辆周围的外部目标的目标数,以及各外部目标对应的目标数据;根据目标数将各目标数据发送至对应的计算单元块,并通过各计算单元块分别对接收到的目标数据进行计算,得到对应的计算结果;根据计算结果确定目标车辆在下一时刻的行驶策略,以供目标车辆根据行驶策略行驶。本发明在不增加额外的计算资源的情况下,根据外部动态变化的目标数适配地对所有外部目标的目标数据进行同步计算,体现了处理过程的灵活性和同步性,并可提高自动驾驶过程中的预测精度。
附图说明
35.图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图;
36.图2为本发明自动驾驶的同步计算方法第一实施例的流程示意图;
37.图3为本发明自动驾驶的同步计算方法较佳实施例的rnn加速器硬件原理框图;
38.图4为本发明自动驾驶的同步计算方法外部目标的目标数为8的目标分布图;
39.图5为本发明自动驾驶的同步计算方法外部目标的目标数为3的目标分布图;
40.图6为本发明自动驾驶的同步计算方法较佳实施例的功能模块示意图。
41.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
42.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
43.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图。
44.本发明实施例系统可以是pc、管理服务器、云服务器等。
45.如图1所示,该系统可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non

volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
46.本领域技术人员可以理解,图1中示出的系统结构并不构成对系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
47.如图1所示,作为一种计算机介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及自动驾驶的同步计算程序。
48.其中,操作系统是管理和控制自动驾驶的同步计算系统与软件资源的程序,支持网络通信模块、用户接口模块、自动驾驶的同步计算程序以及其他程序或软件的运行;网络
通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
49.在图1所示的自动驾驶的同步计算系统中,所述自动驾驶的同步计算系统通过处理器1001调用存储器1005中存储的自动驾驶的同步计算程序,并执行下述自动驾驶的同步计算方法各个实施例中的操作。
50.基于上述硬件结构,提出本发明自动驾驶的同步计算方法实施例。
51.参照图2,图2为本发明自动驾驶的同步计算方法第一实施例的流程示意图,所述方法包括:
52.步骤s10,获取当前时刻目标车辆周围的外部目标的目标数,以及各所述外部目标对应的目标数据;
53.本实施例自动驾驶的同步计算方法运用于自动驾驶场景中,为描述方便,自动驾驶的同步计算系统以同步计算系统简称。在本实施例中,同步计算系统包括rnn加速器硬件,原理框图如图3所示。根据rnn加速器硬件的原理框图可知,rnn加速器硬件包括控制单元control、一级缓存、二级缓存、计算单元块等模块,其中,控制单元用于根据目标车辆的外部目标的目标数来调整加速器硬件的工作模式;一级缓存为图3中的ram(random access memory,随机存取存储器)部分,ram部分可包括数据输入ram、参数输入ram和输出ram,且数据输入ram用于存储外部目标的目标数据;参数输入ram用于存储计算矩阵每一行计算数据对应的权重参数;输出ram用于存储计算矩阵得到的计算结果,且输出ram优选为pram(parallel random access machine,并行随机存取存储器);计算单元块用于独立对接收到的目标数据进行计算。
54.另外,每个一级缓存都有与之对应的多个二级缓存,一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),且每个计算单元块分别对应一个参数输入二级缓存,设置一级缓存和二级缓存是为了减少高速cpu对慢速内存的访问。如图3所示,数据输入ram对应多个数据输入二级缓存xh和偏置二级缓存bias,加上bias可以使rnn网络更加灵活。例如,若rnn网络包括输入门、遗忘门、状态门和输出门这四个结构门,那么,参数输入ram可分别与输入门二级缓存wi、遗忘门二级缓存wf、状态门二级缓存wc、输出门二级缓存wo相连。
55.由于目前用于实现rnn算法的硬件都是使用分时处理的方式,一方面,若独立采集目标车辆周围的目标信息,则不能确保决策时刻目标车辆周围的目标信息是同步的,可能会造成预测决策的精度降低,可靠性下降;另一方面,若统一采集目标车辆周围的目标信息,虽然可以实现周围目标信息的同步功能,但是独立分时计算会增加硬件对rnn参数的重复读取,导致计算过程中的数据被多次重复缓存,从而增加系统的功耗和内部缓存。
56.在本实施例中,可通过预先设置在目标车辆中的传感器、激光雷达、摄像机等仪器来确定外部目标的目标数,以及各个外部目标对应的目标数据,也可以通过v2x技术(vehicle to everything,车用无线通信技术)来实现外部环境数据信息的采集功能,然后将采集到的数据信息进行数据处理,得到预设维度的目标数据,然后将处理后的目标数据发送至ddr(即ddr sdram,double data rate synchronous dynamic random access memory,双倍速率同步动态随机存取存储器)进行存储,其中,外部目标可以是外部运动的物体,如正在行驶的车辆,也可以是静态的物体,如停止行驶的车辆、静止的障碍物等,目标数据可包括行驶速度、行驶加速度、与目标车辆的相对位置信息、与目标车辆之间的距离
等。ddr中存储的目标数据可以是128维的数据,也可以是64维的数据,预设维度可根据实际的应用需求进行设定,在此不作具体限制。另外,如图3所示的ram部分可与外部ddr进行数据交互,因此,也可直接从ddr中获取当前时刻在目标车辆周围的外部目标的数目,以及各个外部目标对应的目标数据。
57.由于自动驾驶车辆在道路上行驶时,需要实时监测车辆周围的路况,但监测范围和同时监测的外部目标最大目标数可根据实际的硬件条件和应用需求进行设定。为描述方便,以rnn加速硬件可支持对目标车辆周围的最多8个外部目标进行同步计算为例进行阐述,那么,目标数的取值范围为0

8。如图4所示,以中间阴影框来表示自动驾驶的目标车辆本身,箭头表示当前时刻目标车辆的行驶方向,在行驶车辆密集的情况下,目标车辆周围需要对周围的8个外部目标进行同步计算,并预测这8个外部目标在下一时刻的运动轨迹,以做出目标车辆在下一时刻的行驶规划决策。
58.需要说明的是,若当前时刻目标车辆周围不存在外部目标,此时同步计算系统获取不到任何的目标数据,则不需要计算单元块同步计算外部目标信息。因此,本发明的实施方案主要是针对目标车辆在自动驾驶过程中,周围存在至少一个外部目标的情况进行阐述,而当目标车辆周围不存在任何其他的外部目标时,则只需要根据实时的道路交通状况来控制目标车辆行驶。
59.步骤s20,根据所述目标数将各所述目标数据发送至对应的计算单元块,并通过各所述计算单元块分别对接收到的目标数据进行计算,得到对应的计算结果;
60.在本实施例中,根据当前时刻在目标车辆周围的外部目标的目标数来将各个外部目标的目标数据发送到对应的计算单元块时,不同计算单元块所接收到的目标数据可以是同一外部目标对应的目标数据的不同部分,也可以是不同外部目标对应的目标数据,然后各个计算单元块对接收到的目标数据进行计算预测,得到对应的计算结果。具体的,在每个计算周期,控制单元根据外部目标的目标数,选择各个计算单元块的计算模式,例如,若目标车辆中的传感装置可以识别出周围的8个外部目标,那么,计算单元块支持0~8个外部目标共9种不同计算方式。然后根据所选择的计算方式确定计算时间内由数据输入一级缓存到对应的二级缓存的数据分发。根据目标车辆周围动态变化的外部目标数,以及计算单元块的总数目,选择目标数与计算单元块之间的对应关系,以确定各个外部车辆对应的计算单元块,并在动态确定计算单元块的最优计算模式的同时,将输入的目标数据发送至系统中的各个计算单元块,这样不仅可以提高计算效率以及计算单元块的利用率,还可以通过提高系统中计算单元块的利用率来提高预测速率。
61.需要说明的是,由于rnn网络在对不同的外部目标进行计算时,其计算参数和计算量都分别相同,因而在同时开始计算的情况下,能够同时结束多个外部目标的计算过程,从而保证处理过程的同步性。
62.步骤s30,根据所述计算结果确定所述目标车辆在下一时刻的行驶策略,以供所述目标车辆根据所述行驶策略进行行驶。
63.在本实施例中,可根据计算结果确定目标车辆在下一时刻的行驶策略,如确定目标车辆在下一时刻以某行驶速度向左/右偏30
°
行驶等,然后目标车辆根据该行驶策略进行行驶。通过不同的计算单元块对外部目标的目标数据进行计算,可在保证预测精确度的情况下,减少加速计算硬件对rnn参数,以及中间数据对缓存存储器的多次访问。
64.本实施例的自动驾驶的同步计算方法,通过获取当前时刻目标车辆周围的外部目标的目标数,以及各外部目标对应的目标数据;根据目标数将各目标数据发送至对应的计算单元块,并通过各计算单元块分别对接收到的目标数据进行计算,得到对应的计算结果;根据计算结果确定目标车辆在下一时刻的行驶策略,以供目标车辆根据行驶策略行驶。本发明在不增加额外的计算资源的情况下,根据外部动态变化的目标数适配地对所有外部目标的目标数据进行同步计算,体现了处理过程的灵活性和同步性,并可提高自动驾驶过程中的预测精度。
65.进一步地,基于本发明自动驾驶的同步计算方法第一实施例,提出本发明自动驾驶的同步计算方法第二实施例。
66.自动驾驶的同步计算方法的第二实施例与自动驾驶的同步计算方法的第一实施例的区别在于,进一步地,所述根据所述目标数将各所述目标数据发送至对应的计算单元块的步骤包括:
67.步骤a1,获取所述计算单元块的总数目;
68.步骤a2,根据所述目标数和所述计算单元块的总数目将各所述目标数据发送至对应的计算单元块。
69.在本实施例中,由于同步计算系统中的计算单元块的总数目可根据实际的硬件设计条件预先设置好,例如,外部目标的目标数可大于、小于或等于计算单元块的目标数,因此,可根据外部目标的目标数和计算单元块的总数目来确定将各个外部目标对应的计算单元块,以将相应的目标数据发送至对应的计算单元块。具体的,可预先对各个计算单元块进行编号处理,若同步计算系统包括8个计算单元块,计算单元块对应的编号可为a1

a8。
70.若某一时刻,目标车辆周围的外部目标分布如图5所示,可知此时外部目标的目标数为3,则需要对这三个外部目标进行同步计算,并预测这三个外部目标在下一时刻的运动轨迹。若外部目标编号分别为1、2、3,则可按照预设的分配方式来确定各个外部目标对应的计算单元块。例如,若按照233的分配方式来确定各个外部目标对应的计算单元块时,可将外部目标1对应的目标数据发送至计算单元块a1和a2;将外部目标2对应的目标数据发送至计算单元块a3、a4和a5;将外部目标3对应的目标数据发送至计算单元块a6、a7和a8。针对不同目标数进行计算单元块的分配时,预设的分配方式可根据实际应用需求进行设定,对此不作具体限制。
71.进一步地,所述将各所述外部目标相应的目标数据发送至对应的计算单元块的步骤包括:
72.步骤b1,获取各所述目标数据对应的数据维度,并按照所述数据维度对各所述目标数据进行分类,得到分类后的维度数据;
73.步骤b2,将各所述外部目标相应的维度数据发送至对应的计算单元块。
74.在本实施例中,一般来说,不同外部目标的目标数据对应的总数据维度是相同的,如都是0维、1维、2维......n维的目标数据,也即,不同外部目标的目标数据对应的总数据维度都是n维。但是,每一个外部目标的目标数据可以是不同数据维度的数据,因此,可以按照不同的数据维度的目标数据进行分类,得到分类后的维度数据,如图3所示,如从数据输入ram获取到各个外部目标的目标数据后,可对各外部目标的目标数据按照数据维度进行分类,也即,将相同数据维度的目标数据归为一类,使得每一类数据都是不同数据维度的目
标数据,从而得到分类后的维度数据,再将维度数据分别保存在对应维度的数据输入二级缓存中,然后从数据输入二级缓存中将各个外部目标对应的维度数据分别发送至对应的计算单元。例如,若外部目标1对应的计算单元块包括a1和a2,且将外部目标1从0维至a(a<n)维的维度数据发送至计算单元块a1,将从(a+1)维至n维的维度数据发送至计算单元块a2,则从数据输入二级缓存中分别将外部目标1对应的0维至a维的维度数据发送至计算单元块a1,将从(a+1)维至n维的维度数据发送至计算单元块a2,从而根据上述相同的发送原理,将此时目标车辆的所有外部目标相应的维度数据发送至对应的计算单元块。
75.进一步地,所述将各所述外部目标相应的目标数据发送至对应的计算单元块的步骤包括:
76.步骤c1,分别获取各所述外部目标对应的计算单元块数目;
77.步骤c2,若外部目标对应的计算单元块数目至少为两个,则对所述外部目标对应的目标目标数据进行分组处理,并将分组处理后的目标目标数据分发至所述外部目标对应的多个计算单元块;
78.步骤c3,若外部目标对应的计算单元块数目为一个,则将所述外部目标相应的目标数据发送至对应的计算单元块。
79.在本实施例中,为了提高计算单元块的利用率,并提高预测效率,在对外部目标的目标数据进行同步计算时,可根据外部目标分配的计算单元块数目来确定是否需要对目标数据进行分组处理,例如,某一个外部目标分配的计算单元块至少包括两个,则对该外部目标的目标数据进行分组处理,并将分组处理后的目标数据分发给对应的多个计算单元块;若某一个外部目标分配的计算单元块只有一个,也即,每个计算单元块分别计算一个外部目标的目标数据,那么可以直接将该外部目标对应的目标数据发送到该计算单元块。若外部目标1对应的计算单元块包括两个,分别为计算单元块a1和a2,则可将外部目标1对应的目标数据分成两部分,并将这两部分的目标数据分别分发至计算单元块a1和a2;若外部目标2对应的计算单元块包括三个,分别为计算单元块a3、a4和a5,则可将外部目标2对应的目标数据分成三部分,并将这三部分的目标数据分别分发至计算单元块a3、a4和a5;外部目标3对应的计算单元块包括三个,分别为计算单元块a6、a7和a8,则可将外部目标3对应的目标数据分成三部分,并将这三部分的目标数据分别分发至计算单元块a6、a7和a8。
80.在外部目标分配的计算单元块至少包括两个的情况下,对目标数据进行分组处理,可在多个计算单元块上同时对目标数据的不同部分进行计算,可提高该外部目标的计算速度,从而有利于提高同步计算系统的预测速率。可以理解的,在自动驾驶场景中,当外部目标的目标数较大时,说明目标车辆当前处于车辆密集的行驶环境中,例如,当目标车辆周围被其他8辆车包围时,说明当前行车拥挤,路况差,此时目标车辆的行驶车速会相对慢些,通过计算获得结果的速率较慢,这正好与计算的方案相匹配;而当外部目标的目标数较小,或者不存在外部目标时,说明目标车辆当前的路况比较好,所以此时的行车速度快,通过计算获得结果的速率也快,这也正好与计算的方案相匹配。
81.本实施例的自动驾驶的同步计算方法,按照数据维度对各外部目标的目标数据进行分类,得到分类后的维度数据,有利于提高后续计算单元块的计算速率;根据计算单元块的总个数和外部目标的目标数来确定各外部目标对应的计算单元块,可提高计算单元块的利用率;另外,根据各外部目标分配的计算单元块数目来确定是否需要对目标数据进行分
组处理,可在提高计算单元块利用率的同时,提高预测速率。
82.进一步地,基于本发明自动驾驶的同步计算方法第一、第二实施例,提出本发明自动驾驶的同步计算方法第三实施例。
83.自动驾驶的同步计算方法的第三实施例与自动驾驶的同步计算方法的第一、第二实施例的区别在于,各所述计算单元块分别包括计算矩阵,各所述计算矩阵分别包括不同数据维度的数据列,所述将各所述外部目标相应的维度数据发送至对应的计算单元块的步骤包括:
84.步骤d,若外部目标对应的计算单元块数目至少为两个,则将分组处理后的目标维度数据分别分发至对应的多个计算单元块中相同数据维度的数据列;
85.或者,
86.步骤e,若外部目标对应的计算单元块数目为一个,则将所述外部目标相应的目标维度数据分别发送至对应的计算单元块中相同数据维度的数据列。
87.在本实施例中,各个计算单元块中包括计算矩阵、累加和输出缓存等模块,且各个计算矩阵中每一列的数据为相同维度的维度数据,因此,如图3所示,当计算单元块接收到对应的维度数据时,会将接收到的维度数据分别写入数据维度相匹配的数据列。而每个计算矩阵的计算过程由m行n列的乘法器完成,其中,m由rnn网络中的门结构数量决定,n由计算单元块的数据维度决定。另外,累加和输出缓存用于接收计算矩阵每一行的计算结果,并将m行的计算结果进行累加堆迭运算,得到预测结果。
88.进一步地,所述通过各所述计算单元块分别对接收到的目标数据进行计算,得到对应的计算结果的步骤包括:
89.步骤f1,分别获取各所述计算矩阵中每一行对应的权重参数;
90.步骤f2,在各所述计算矩阵中根据每一行对应的权重参数对每一列的维度数据进行计算,得到对应的计算结果。
91.在本实施例中,rnn网络中的门结构优选为输入门、遗忘门、状态门、输出门这四个结构门,即m=4,如图3所示,若每一个结构门分别对应乘法器的一行数据,如输入门对应计算矩阵的第一行,遗忘门对应计算矩阵的第二行,状态门对应计算矩阵的第三行,输出门对应计算矩阵的第四行,且输入门对应的权重参数为wi,遗忘门对应的权重参数为wf,状态门对应的权重参数为wc、输出门对应的权重参数为wo,则在每一个计算矩阵中,可将每一行不同数据维度的维度数据与对应的权重参数,即根据第一行的维度数据与第一行对应的权重参数wi、第二行的维度数据与第二行对应的权重参数wf、第三行的维度数据与第三行对应的权重参数wc、第四行的维度数据与第四行对应的权重参数wo进行计算,得到对应的计算结果。每个计算单元块由4行若干列的乘法器组成,4行乘法器共用数据输入二级缓存提供的数据,但独立使用各自的权重参数,然后每一行乘法器逐级累加计算,并将得到的计算结果输出到输出缓存。
92.需要说明的是,各个计算单元块是以并行的方式通信连接,且各个计算单元分别对应一个权重参数二级缓存,各个权重参数二级缓存对应的权重参数可以相同,也可以不相同。比如,外部目标的目标数为8,计算单元块有8块,那么,当同步计算系统需要实现8路独立目标数据的处理时,由于每一路的计算过程相同,这时8个权重参数二级缓存对应的权重参数相同;当外部目标的目标数为1,也即仅需要实现1路数据的处理时,这8片计算单元
块计算该外部目标对应的目标数据的不同部分。
93.本实施例的自动驾驶的同步计算方法,可同步处理外部动态变化的不同目标数据,并在计算过程中共用rnn网络的各种参数,避免了rnn加速硬件先后计算不同目标的目标数据时重复访问各种参数,节省了同步计算系统的带宽和功耗。
94.本发明还提供一种自动驾驶的同步计算装置。参照图6,本发明自动驾驶的同步计算装置包括:
95.获取模块10,用于获取当前时刻目标车辆周围的外部目标的目标数,以及各所述外部目标对应的目标数据;
96.计算模块20,用于根据所述目标数将各所述目标数据发送至对应的计算单元块,并通过各所述计算单元块分别对接收到的目标数据进行计算,得到对应的计算结果;
97.行驶模块30,用于根据所述计算结果确定所述目标车辆在下一时刻的行驶策略,以供所述目标车辆根据所述行驶策略进行行驶。
98.优选地,所述计算模块用于:
99.获取所述计算单元块的总数目,并根据所述目标数和所述计算单元块的总数目确定各所述外部目标对应的计算单元块;
100.将各所述外部目标相应的目标数据发送至对应的计算单元块。
101.优选地,所述计算模块用于:
102.获取各所述目标数据对应的数据维度,并按照所述数据维度对各所述目标数据进行分类,得到分类后的维度数据;
103.将各所述外部目标相应的维度数据发送至对应的计算单元块。
104.优选地,所述计算模块用于:
105.分别获取各所述外部目标对应的计算单元块数目;
106.若外部目标对应的计算单元块数目至少为两个,则对所述外部目标对应的目标维度数据进行分组处理,并将分组处理后的目标维度数据分发至所述外部目标对应的多个计算单元块;
107.若外部目标对应的计算单元块数目为一个,则将所述外部目标相应的目标维度数据发送至对应的计算单元块。
108.优选地,各所述计算单元块分别包括计算矩阵,各所述计算矩阵分别包括不同数据维度的数据列,所述计算模块用于:
109.若外部目标对应的计算单元块数目至少为两个,则将分组处理后的目标维度数据分别分发至对应的多个计算单元块中相同数据维度的数据列;
110.或者,
111.若外部目标对应的计算单元块数目为一个,则将所述外部目标相应的目标维度数据分别发送至对应的计算单元块中相同数据维度的数据列。
112.优选地,所述行驶模块用于:
113.分别获取各所述计算矩阵中每一行对应的权重参数;
114.在各所述计算矩阵中根据每一行对应的权重参数对每一列的维度数据进行计算,得到对应的计算结果。
115.本发明还提供一种程序产品,包括计算机程序,所述计算机程序被处理器执行时
实现如上所述的自动驾驶的同步计算方法的步骤。
116.本发明还提供一种介质。
117.本发明介质优选为计算机可读存储介质,所述介质上存储有自动驾驶的同步计算程序,所述自动驾驶的同步计算程序被处理器执行时实现如上所述的自动驾驶的同步计算方法的步骤。
118.其中,本发明自动驾驶的同步计算系统、程序产品和介质的各实施例,均可参照本发明自动驾驶的同步计算方法各个实施例,此处不再赘述。
119.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
120.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
121.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端系统(可以是手机,计算机,服务器,空调器,或者网络系统等)执行本发明各个实施例所述的方法。
122.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1