1.一种用于车联网的深度学习离线推理负载均衡方法,其特征在于,该方法包括:步骤一,确定车联网中提出离线推理负载均衡请求的车辆为主车;
步骤二,计算深度学习神经网络各层网络的内存占用,得到深度学习神经网络的内存消耗序列;
步骤三,采用滑动窗口,对内存消耗序列作平滑处理,得到平滑内存消耗序列;
步骤四,将深度学习神经网络的输入端及其相邻层、输出端及其相邻层分配给主车,根据内存消耗序列与平滑内存消耗序列,计算神经网络层波动特征序列;
步骤五,根据神经网络层波动特征序列以及内存消耗序列,对深度学习神经网络进行任务划分,得到初始任务序列;
步骤六,采用基准测试方式对车联网各节点硬件组态进行识别,获取每个车辆节点的计算性能;
步骤七,以最低计算性能为基准,获取车联网所有车辆节点计算性能的冗余倍数序列,根据冗余倍数序列对初始任务序列进行校正;
步骤八,采用任务匹配衡量算式衡量任务匹配度,根据任务匹配度获得任务与车辆节点之间的最优匹配,将校正后的任务序列中的任务分配至各个车辆节点;
所述神经网络层波动特征序列的计算方法具体为:计算神经网络层波动特征序列 ,其中 有:其中, 表示去掉首部两层和尾部两层的平滑内存消耗序列的第i个数值, 表示去掉首部两层和尾部两层的内存消耗序列中第i个数值;
将神经网络层波动特征序列中连续大于1的数值组成区间,分别以每个区间的最大值作为锚点,向序列两边扩张,同时根据内存消耗序列计算该区间对应任务的内存占用,当内存占用超出最低硬件内存配置时停止扩张,得到初始任务序列;
通过发送测试数据包获得车队硬件组态并规划最终方案,测试数据包的内容为一个测试张量;通过测试数据包得到张量的计算时间 ,测试张量的加运算次数 、加运算的基准吞吐量已知,则每个设备的计算性能值 , 为设备内存容量;至此,可以得到车辆节点设备的计算性能;
所述步骤七中的校正方法具体包括:若冗余倍数序列中数值个数大于初始任务序列的任务个数,则在任务与车辆节点的匹配过程中可忽略性能差的设备;若冗余倍数序列中数值个数小于初始任务序列的任务个数,则对初始任务序列的任务进行合并;
所述步骤八具体为:
采用任务匹配衡量算式衡量任务匹配度:,
其中, 为车辆节点的计算性能,a为车辆节点编号, 为任务b所包含的神经网络层数, b为任务编号, 是计算机所能识别的最小精度, 是计算机所能识别的最大精度;
采用KM算法,根据任务匹配度获得任务与车辆节点之间的最优匹配;
根据匹配关系,将校正后的任务序列中的任务分配至各个车辆节点。
2.如权利要求1所述的用于车联网的深度学习离线推理负载均衡方法,其特征在于,所述步骤二包括:
根据神经网络层的内存占用以及神经网络层的输入输出流量,得到深度学习神经网络的内存消耗L:
其中,是神经网络层的内存占用,F是神经网络层的输入输出流量;
计算深度学习神经网络每一层网络的内存占用,得到深度学习神经网络的内存消耗序列。
3.如权利要求2所述的用于车联网的深度学习离线推理负载均衡方法,其特征在于,所述神经网络层的内存占用的计算方法具体为:其中, 是神经网络层支路p的内存占用,是神经网络层的内存占用。
4.如权利要求3所述的用于车联网的深度学习离线推理负载均衡方法,其特征在于,所述神经网络层支路p的内存占用的计算方法具体为:其中,为一个神经元的内存占用, 为神经网络层支路p的所有神经元的内存占用的和, 是神经网络层支路p的内存占用。
5.如权利要求4所述的用于车联网的深度学习离线推理负载均衡方法,其特征在于,所述一个神经元的内存占用的计算方法具体为:其中, 是神经元输入端的各通道张量大小的内存占用;
是神经元输出端的各通道张量大小的内存占用;
是神经元中在分组 的组内某通道 的卷积核大小, 是内部卷积核参数的内存占用;
是激活函数、批归一化操作的参数的内存占用;
是一个数值在指定精度存储时的字节占用数。
6.如权利要求1所述的用于车联网的深度学习离线推理负载均衡方法,其特征在于,所述滑动窗口为均值窗口。