发布信息

一种内存管理方法、系统、设备及计算机可读存储介质与流程

作者:admin      2022-07-30 21:39:41     360



计算;推算;计数设备的制造及其应用技术1.本技术涉及计算机技术领域,更具体地说,涉及一种内存管理方法、系统、设备及计算机可读存储介质。背景技术:2.在神经网络模型的使用过程中,需要借助具有计算能力的计算设备来运行神经网络模型中的相应计算,因为神经网络模型中算子的输入输出会占据一定的存储空间,而计算设备的内存空间有限,如果内存分配不合理的话,会使得神经网络模型的运算速度降低,所以为了提高神经网络模型的运算速度,需对计算设备的内存进行准确管理。3.综上所述,如何对计算设备的内存进行准确管理是目前本领域技术人员亟待解决的问题。技术实现要素:4.本技术的目的是提供一种内存管理方法,其能在一定程度上解决如何对计算设备的内存进行准确管理的技术问题。本技术还提供了一种内存管理系统、设备及计算机可读存储介质。5.为了实现上述目的,本技术提供如下技术方案:6.一种内存管理方法,包括:7.获取目标神经网络模型;8.基于各个目标计算设备对所述目标神经网络模型中算子的运算支持,将所述目标神经网络模型剖分为与各个所述目标计算设备对应的子函数;9.分发所述子函数至对应的所述目标计算设备;10.对于每个所述目标计算设备,均基于所述目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个所述计算单元对应的执行单元,以所述执行单元为粒度对所述目标计算设备进行内存管理。11.优选的,所述以所述执行单元为粒度对所述目标计算设备进行内存管理,包括:12.将所述目标计算设备的内存划分为目标内存及预留内存;13.确定所述执行单元在所述目标内存中的内存占用信息;14.基于所述内存占用信息对所述目标计算设备的内存进行管理。15.优选的,所述确定所述执行单元在所述目标内存中的内存占用信息,包括:16.将所述目标内存划分为与各个所述执行单元对应的内存块;17.将所述执行单元与所述内存块间的对应关系作为所述内存占用信息。18.优选的,所述将所述目标内存划分为与各个所述执行单元对应的内存块,包括:19.基于内存复用原则,将所述目标内存划分为与各个所述执行单元对应的内存块。20.优选的,所述基于所述内存占用信息对所述目标计算设备的内存进行管理,包括:21.统计各个所述执行单元在所述子函数中的出现次数,将所述出现次数作为所述执行单元对应的所述内存块的使用次数,并且若所述执行单元在所述目标计算设备中出现一次,则将所述使用次数的值减1;22.对于每个所述执行单元,判断对应的所述内存块的所述使用次数的值是否为0;23.若所述使用次数的值为0,则允许对所述执行单元对应的所述内存块进行复用;24.若所述使用次数的值不为0,则禁止对所述执行单元对应的所述内存块进行复用,并返回执行所述若所述执行单元在所述目标计算设备中出现一次,则将所述使用次数的值减1的步骤。25.优选的,所述将所述目标内存划分为与各个所述执行单元对应的内存块,包括:26.基于执行速度最快原则,将所述目标内存划分为与各个所述执行单元对应的内存块。27.优选的,所述基于所述内存占用信息对所述目标计算设备的内存进行管理之后,还包括:28.应用所述预留内存对所述目标内存进行内存补偿。29.一种内存管理系统,包括:30.第一获取模块,用于获取目标神经网络模型;31.第一剖分模块,用于基于各个目标计算设备对所述目标神经网络模型中算子的运算支持,将所述目标神经网络模型剖分为与各个所述目标计算设备对应的子函数;32.第一分发模块,用于分发所述子函数至对应的所述目标计算设备;33.第二剖分模块,用于对于每个所述目标计算设备,均基于所述目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个所述计算单元对应的执行单元,以所述执行单元为粒度对所述目标计算设备进行内存管理。34.一种内存管理设备,包括:35.存储器,用于存储计算机程序;36.处理器,用于执行所述计算机程序时实现如上任一所述内存管理方法的步骤。37.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述内存管理方法的步骤。38.本技术提供的一种内存管理方法,获取目标神经网络模型;基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数;分发子函数至对应的目标计算设备;对于每个目标计算设备,均基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,以执行单元为粒度对目标计算设备进行内存管理。本技术中,可以先基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数,使得各个目标计算设备所需运算的子函数与自身的运算性能相符合,且之后对于每个目标计算设备,还需基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,以执行单元为粒度对目标计算设备进行内存管理,实现了对计算设备内存的准确管理。本技术提供的一种内存管理系统、设备及计算机可读存储介质也解决了相应技术问题。附图说明39.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。40.图1为本技术实施例提供的一种内存管理方法的第一流程图;41.图2为本技术实施例提供的一种内存管理方法的第二流程图;42.图3为内存的分配示意图;43.图4为子函数的示意图;44.图5为本技术实施例提供的一种内存管理系统的结构示意图;45.图6为本技术实施例提供的一种内存管理处理设备的结构示意图;46.图7为本技术实施例提供的一种内存管理处理设备的另一结构示意图。具体实施方式47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。48.请参阅图1,图1为本技术实施例提供的一种内存管理方法的第一流程图。49.本技术实施例提供的一种内存管理方法,可以包括以下步骤:50.步骤s101:获取目标神经网络模型。51.实际应用中,可以先获取待运算的目标神经网络模型,目标神经网络模型的类型可以根据实际需要确定,本技术在此不做具体限定。52.步骤s102:基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数。53.实际应用中,在获取目标神经网络模型之后,便可以基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数,比如有的目标计算设备适合卷积运算,则可以将目标神经网络模型中的卷积算子剖分成相应的子函数来分发给该目标计算设备,再比如有的目标计算设备适合池化运算,则可以将目标神经网络模型中的池化算子剖分成相应的子函数来分发给该目标计算设备等。54.需要说明的是,目标计算设备指的是具有计算能力的设备,目标计算设备及目标神经网络模型中算子的类型均可以根据实际需要确定,比如目标计算设备可以为cpu(central processing unit,中央处理器)、gpu(graphics processing unit,图形处理器)、fpga(field programmable gate array,现场可编程逻辑门阵列)等,目标神经网络模型中的算子可以为卷积算子、池化算子、激活算子等,本技术在此不做具体限定。55.步骤s103:分发子函数至对应的目标计算设备。56.实际应用中,在基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数之后,便可以分发得到的子函数至对应的目标计算设备,以使目标计算设备可以对相应的子函数进行处理。57.步骤s104:对于每个目标计算设备,均基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,以执行单元为粒度对目标计算设备进行内存管理。58.实际应用中,在分发子函数至对应的目标计算设备之后,对于每个目标计算设备,还需基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,以执行单元为粒度对目标计算设备进行内存管理,因为执行单元的粒度小于子函数的粒度,所以以执行单元为粒度对目标计算设备进行内存管理的话,可以更细致、准确的对目标计算设备的内存进行管理。59.需要说明的是,本技术提供的内存管理方法的执行主体可以根据实际需要确定,比如该执行主体可以为深度学习编译器,此时,深度学习编译器在获取目标神经网络模型时,可以读取深度学习框架生成的目标神经网络模型,以得到满足深度学习编译器的ir(intermediate representation,中间表示)形式的目标神经网络模型,进而便于深度学习编译器对目标神经网络模型进行处理,当然,该执行主体还可以为部署该深度学习编译器的计算机设备,或者为需运行目标神经网络模型的计算机设备等,本技术在此不做具体限定。60.本技术提供的一种内存管理方法,获取目标神经网络模型;基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数;分发子函数至对应的目标计算设备;对于每个目标计算设备,均基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,以执行单元为粒度对目标计算设备进行内存管理。本技术中,可以先基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数,使得各个目标计算设备所需运算的子函数与自身的运算性能相符合,且之后对于每个目标计算设备,还需基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,以执行单元为粒度对目标计算设备进行内存管理,实现了对计算设备内存的准确管理。61.请参阅图2,图2为本技术实施例提供的一种内存管理方法的第二流程图。62.本技术实施例提供的一种内存管理方法,可以包括以下步骤:63.步骤s201:获取目标神经网络模型。64.步骤s202:基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数。65.步骤s203:分发子函数至对应的目标计算设备。66.步骤s204:对于每个目标计算设备,均基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,将目标计算设备的内存划分为目标内存及预留内存;确定执行单元在目标内存中的内存占用信息;基于内存占用信息对目标计算设备的内存进行管理。67.实际应用中,在以执行单元为粒度对目标计算设备进行内存管理的过程中,可以将目标计算设备的内存划分为目标内存及预留内存;确定执行单元在目标内存中的内存占用信息;基于内存占用信息对目标计算设备的内存进行管理。也即先使用目标内存来处理执行单元,将预留内存作为目标内存不足时的留存内存,比如在目标内存不足以满足执行单元的内存需求时,应用预留内存对目标内存进行内存补偿等。68.实际应用中,在确定执行单元在目标内存中的内存占用信息的过程中,可以将目标内存划分为与各个执行单元对应的内存块;将执行单元与内存块间的对应关系作为内存占用信息。这样,可以基于执行单元与内存块间的对应关系来准确对执行单元进行内存管理。假设执行单元有4个,则内存的分配情况可以如图3所示,其中,图3中的内存空间1表示第一个执行单元对应的内存块,图3中的内存空间2表示第二个执行单元对应的内存块,图3中的内存空间3表示第三个执行单元对应的内存块,图3中的内存空间4表示第四个执行单元对应的内存块,图3中未编号的内存空间表示预留内存等。69.实际应用中,在将目标内存划分为与各个执行单元对应的内存块的过程中,可以基于内存复用原则,将目标内存划分为与各个执行单元对应的内存块。需要说明的是,内存复用原则可以为不同执行单元间复用同一个内存块,也可以为同一个执行单元的输入、输出复用同一个内存块等,本技术在此不做具体限定。70.具体应用场景中,在基于内存复用原则将目标内存划分为与各个执行单元对应的内存块之后,同一个内存块可能会被多个执行单元所使用,由此会使得内存块的存储数据被覆盖掉,如果被覆盖掉的数据还在后续有应用的话,会导致后续运算操作无法进行,进而导致无法得到最终的运算结果,为了避免此种情况,在基于内存占用信息对目标计算设备的内存进行管理的过程中,可以统计各个执行单元在子函数中的出现次数,将出现次数作为执行单元对应的内存块的使用次数,并且若执行单元在目标计算设备中出现一次,则将使用次数的值减1,若执行单元在目标计算设备中未出现,则保持使用次数的值不变;对于每个执行单元,判断对应的内存块的使用次数的值是否为0;若使用次数的值为0,则允许对执行单元对应的内存块进行复用;若使用次数的值不为0,则禁止对执行单元对应的内存块进行复用,并返回执行若执行单元在目标计算设备中出现一次,则将使用次数的值减1的步骤。这样,在内存块的使用次数的值不为0的情况下,也即在内存块还需被使用的情况下,无法对内存块进行复用,也就无法对内存块中的数据进行覆盖,可以保证内存块中的数据被后续使用。71.为了便于理解,假设子函数的类型如图4所示,从子函数的第三个算子和第四个算子开始采用深度优先遍历的方式统计每个算子在计算图的不同路径上出现的次数,这个次数即表示该算子的输出需要被后续算子使用的次数,由图4可知,从上到下第一个算子出现在两条路径上,它的输出分别被第三个算子和第二个算子所使用,它的使用计数为2。完成各算子的统计计数后同第一次一样,从输出开始进行深度优先遍历,计数各个算子的输入和输出所占内存编号,因此首先处理的是第一个算子,它的输入为整个子函数的输入,假设它所占的内存编号为0,更新此内存编号的次数为当前使用它的数据的统计次数,整个函数的输入只使用一次,因此编号为0的内存编号的次数为1,对于它的输出,首先遍历已有的内存编号,比较该内存编号的使用次数是否为0,若为0且该内存编号的区块大小大于等于该算子输出所需要空间,则将输出的内存编号置为此内存编号,否则从内存中新开辟一段空间给它新的编号。在遍历已有内存编号的过程中对于存储的是当前算子的输入的内存块的使用次数减1。通过这样的方式即能确定每个算子的输入输出编号,且实现了内存的重用。72.实际应用中,在将目标内存划分为与各个执行单元对应的内存块的过程中,还可以基于执行速度最快原则,将目标内存划分为与各个执行单元对应的内存块等,本技术在此不做具体限定。73.请参阅图5,图5为本技术实施例提供的一种内存管理系统的结构示意图。74.本技术实施例提供的一种内存管理系统,可以包括:75.第一获取模块101,用于获取目标神经网络模型;76.第一剖分模块102,用于基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数;77.第一分发模块103,用于分发子函数至对应的目标计算设备;78.第二剖分模块104,用于对于每个目标计算设备,均基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,以执行单元为粒度对目标计算设备进行内存管理。79.本技术实施例提供的一种内存管理系统,第二剖分模块可以包括:80.第一划分单元,用于将目标计算设备的内存划分为目标内存及预留内存;81.第一确定单元,用于确定执行单元在目标内存中的内存占用信息;82.第一管理单元,用于基于内存占用信息对目标计算设备的内存进行管理。83.本技术实施例提供的一种内存管理系统,第一确定单元可以具体用于:将目标内存划分为与各个执行单元对应的内存块;将执行单元与内存块间的对应关系作为内存占用信息。84.本技术实施例提供的一种内存管理系统,第一确定单元可以具体用于:基于内存复用原则,将目标内存划分为与各个执行单元对应的内存块。85.本技术实施例提供的一种内存管理系统,第一管理单元可以具体用于:统计各个执行单元在子函数中的出现次数,将出现次数作为执行单元对应的内存块的使用次数,并且若执行单元在目标计算设备中出现一次,则将使用次数的值减1;对于每个执行单元,判断对应的内存块的使用次数的值是否为0;若使用次数的值为0,则允许对执行单元对应的内存块进行复用;若使用次数的值不为0,则禁止对执行单元对应的内存块进行复用,并返回执行若执行单元在目标计算设备中出现一次,则将使用次数的值减1的步骤。86.本技术实施例提供的一种内存管理系统,第一确定单元可以具体用于:基于执行速度最快原则,将目标内存划分为与各个执行单元对应的内存块。87.本技术实施例提供的一种内存管理系统,还可以包括:88.第一补偿模块,用于第二剖分模块基于内存占用信息对目标计算设备的内存进行管理之后,应用预留内存对目标内存进行内存补偿。89.本技术还提供了一种内存管理设备及计算机可读存储介质,其均具有本技术实施例提供的一种内存管理方法具有的对应效果。请参阅图6,图6为本技术实施例提供的一种内存管理处理设备的结构示意图。90.本技术实施例提供的一种内存管理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:91.获取目标神经网络模型;92.基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数;93.分发子函数至对应的目标计算设备;94.对于每个目标计算设备,均基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,以执行单元为粒度对目标计算设备进行内存管理。95.本技术实施例提供的一种内存管理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:将目标计算设备的内存划分为目标内存及预留内存;确定执行单元在目标内存中的内存占用信息;基于内存占用信息对目标计算设备的内存进行管理。96.本技术实施例提供的一种内存管理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:将目标内存划分为与各个执行单元对应的内存块;将执行单元与内存块间的对应关系作为内存占用信息。97.本技术实施例提供的一种内存管理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于内存复用原则,将目标内存划分为与各个执行单元对应的内存块。98.本技术实施例提供的一种内存管理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:统计各个执行单元在子函数中的出现次数,将出现次数作为执行单元对应的内存块的使用次数,并且若执行单元在目标计算设备中出现一次,则将使用次数的值减1;对于每个执行单元,判断对应的内存块的使用次数的值是否为0;若使用次数的值为0,则允许对执行单元对应的内存块进行复用;若使用次数的值不为0,则禁止对执行单元对应的内存块进行复用,并返回执行若执行单元在目标计算设备中出现一次,则将使用次数的值减1的步骤。99.本技术实施例提供的一种内存管理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于执行速度最快原则,将目标内存划分为与各个执行单元对应的内存块。100.本技术实施例提供的一种内存管理设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于内存占用信息对目标计算设备的内存进行管理之后,应用预留内存对目标内存进行内存补偿。101.请参阅图7,本技术实施例提供的另一种内存管理设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现内存管理设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(hml)、通用串行总线(usb)、高清多媒体接口(hdmi)、无线连接:无线保真技术(wifi)、蓝牙通信技术、低功耗蓝牙通信技术、基于ieee802.11s的通信技术。102.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:103.获取目标神经网络模型;104.基于各个目标计算设备对目标神经网络模型中算子的运算支持,将目标神经网络模型剖分为与各个目标计算设备对应的子函数;105.分发子函数至对应的目标计算设备;106.对于每个目标计算设备,均基于目标计算设备中各个计算单元的运算信息,将对应的子函数剖分为与各个计算单元对应的执行单元,以执行单元为粒度对目标计算设备进行内存管理。107.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:将目标计算设备的内存划分为目标内存及预留内存;确定执行单元在目标内存中的内存占用信息;基于内存占用信息对目标计算设备的内存进行管理。108.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:将目标内存划分为与各个执行单元对应的内存块;将执行单元与内存块间的对应关系作为内存占用信息。109.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于内存复用原则,将目标内存划分为与各个执行单元对应的内存块。110.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:统计各个执行单元在子函数中的出现次数,将出现次数作为执行单元对应的内存块的使用次数,并且若执行单元在目标计算设备中出现一次,则将使用次数的值减1;对于每个执行单元,判断对应的内存块的使用次数的值是否为0;若使用次数的值为0,则允许对执行单元对应的内存块进行复用;若使用次数的值不为0,则禁止对执行单元对应的内存块进行复用,并返回执行若执行单元在目标计算设备中出现一次,则将使用次数的值减1的步骤。111.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于执行速度最快原则,将目标内存划分为与各个执行单元对应的内存块。112.本技术实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于内存占用信息对目标计算设备的内存进行管理之后,应用预留内存对目标内存进行内存补偿。113.本技术所涉及的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。114.本技术实施例提供的内存管理系统、设备及计算机可读存储介质中相关部分的说明请参见本技术实施例提供的内存管理方法中对应部分的详细说明,在此不再赘述。另外,本技术实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。115.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。116.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部