欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 地图场景预加载方法、模型训练方法、设备及存储介质独创技术61641字

地图场景预加载方法、模型训练方法、设备及存储介质

2021-02-01 04:43:42

地图场景预加载方法、模型训练方法、设备及存储介质

  技术领域

  本申请涉及游戏技术领域,特别涉及一种地图场景预加载方法、模型训练方法、设备及存储介质。

  背景技术

  大型多人在线角色扮演游戏(Multiplayer Online Role-PlayingGame,MMORPG)是网络游戏的一种,在MMORPG游戏中有大量的地图与玩法场景,地图场景的加载与渲染需要消耗大量的计算机硬件资源与计算能力,因此玩家在游戏中进行地图场景的切换时,需要消耗大量的时间等待计算机完成地图资源的加载与渲染。

  现有的为了缩短场景过场的等待时间,主要通过优化地图场景的渲染方式,通过优化场景渲染相关代码,提高资源渲染效率,缩短过场等待时间。

  但现有的优化场景的方式,由于渲染相关的代码是在收到明确的场景切换事件(如,收到下一个进入场景的标识)才执行的,因此,现有的场景切换方式存在等待时间较长的技术问题。

  发明内容

  本申请的目的在于,针对上述现有技术中的不足,提供一种地图场景预加载方法、模型训练方法、设备及存储介质,可以解决现有场景切换方式等待时间较长的技术问题。

  为实现上述目的,本申请实施例采用的技术方案如下:

  第一方面,本申请实施例提供了一种地图场景预加载方法,包括:

  接收游戏客户端发送的预测请求,预测请求包括下述至少一项:当前进入地图的场景标识、时间信息、以及玩家特征信息,玩家特征信息包括玩家标识;

  根据预测请求,通过场景预加载模型预测下一目标场景,获取预测结果,预测结果包括目标场景的场景标识;其中,场景预加载模型由训练数据集训练获取,训练数据集包括多个训练样本数据,每个训练样本数据包括场景标识、时间信息、以及玩家特征信息;

  向游戏客户端发送预测结果。

  可选地,每个训练样本数据还包括:训练序列、训练序列对应的时间序列、以及训练序列对应的玩家特征信息,训练序列包括多个场景标识,每个训练样本数据的场景标签为训练序列中最后一个场景标识。

  可选地,上述方法还包括:

  根据预设更新频率,获取新的训练样本数据;

  根据新的训练样本数据训练更新场景预加载模型,获取更新后的场景预加载模型。

  可选地,根据预测请求,通过场景预加载模型预测下一目标场景,获取预测结果,包括:

  分别根据预测请求中的场景标识和时间信息,生成场景序列和场景序列对应的时间序列;

  根据场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  可选地,根据场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果,包括:

  根据预测请求中玩家特征信息的玩家标识,在预设数据库中检索获取玩家标识对应的场景序列和时间序列;

  若检索到,根据预测请求中的场景标识和时间信息,对玩家标识对应的场景序列和时间序列进行更新,获取更新后的场景序列和时间序列;

  根据更新后的场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  可选地,根据场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果,包括:

  根据嵌入网络层获取场景序列所对应的多维度嵌入向量;

  根据注意力机制层,对多维度嵌入向量和场景序列对应的时间序列进行抽取,获取抽取向量;

  将抽取向量输入到前馈神经网络层,获取映射向量;

  根据映射向量以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  可选地,根据映射向量以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果,包括:

  将映射向量输入第一全连接层,获取固定长度的序列信息向量;

  将序列信息向量与玩家特征信息所对应的玩家特征向量进行拼接,获取拼接向量;

  采用第二全连接层,提取拼接向量中的特征信息;

  将拼接向量中的特征信息输入预设分类层,获取至少一个备选场景所对应的概率分布;

  根据概率分布预测下一目标场景,获取预测结果。

  可选地,根据概率分布预测下一目标场景,获取预测结果,包括:

  根据至少一个备选场景所对应的概率分布和各备选场景所对应的预设置信度确定目标场景,获取预测结果。

  可选地,根据至少一个备选场景所对应的概率分布和各备选场景所对应的预设置信度确定目标场景,获取预测结果,包括:

  根据至少一个备选场景所对应的概率分布,确定最大概率所对应场景标识;

  根据场景标识对应的预设置信度和最大概率,确定场景标识是否为目标场景标识;

  若是,将场景标识作为目标场景标识。

  可选地,向游戏客户端发送预测结果之后,还包括:

  接收游戏客户端根据预测结果发送的下载请求,下载请求用于请求下载目标场景对应的场景数据。

  第二方面,本申请实施例提供了一种地图场景预加载模型训练方法,包括:

  获取训练数据集,训练数据集包括多个训练样本数据,每个训练样本数据包括场景标识、时间信息、以及玩家特征信息;

  根据训练数据集,训练获取场景预加载模型,场景预加载模型用于预测当前游戏中的下一目标场景。

  可选地,获取训练数据集,包括:

  获取初始训练数据,初始训练数据包括初始场景序列、初始场景序列对应的时间序列以及初始场景序列对应的玩家特征信息,初始场景序列包括多个场景标识;

  采用滑动窗口对初始场景序列进行滑动处理,获取多个长度不一的初始场景子序列作为训练序列;

  根据训练序列,训练序列对应的时间序列、以及训练序列对应的玩家特征信息,构建训练数据集。

  可选地,上述方法包括:

  根据预设更新频率,获取新的训练样本数据;

  根据新的训练样本数据训练更新场景预加载模型,获取更新后的场景预加载模型。

  第三方面,本申请实施例提供了一种地图场景预加载装置,包括:第一接收模块、获取模块及发送模块;

  第一接收模块,用于接收游戏客户端发送的预测请求,预测请求包括下述至少一项:当前进入地图的场景标识、时间信息、以及玩家特征信息,玩家特征信息包括玩家标识;

  获取模块,用于根据预测请求,通过场景预加载模型预测下一目标场景,获取预测结果,预测结果包括目标场景的场景标识;其中,场景预加载模型由训练数据集训练获取,训练数据集包括多个训练样本数据,每个训练样本数据包括场景标识、时间信息、以及玩家特征信息;

  发送模块,用于向游戏客户端发送预测结果。

  可选地,每个训练样本数据还包括:训练序列、训练序列对应的时间序列、以及训练序列对应的玩家特征信息,训练序列包括多个场景标识,每个训练样本数据的场景标签为训练序列中最后一个场景标识。

  可选地,上述装置还包括:更新模块,用于根据预设更新频率,获取新的训练样本数据;

  根据新的训练样本数据训练更新场景预加载模型,获取更新后的场景预加载模型。

  可选地,获取模块,具体用于分别根据预测请求中的场景标识和时间信息,生成场景序列和场景序列对应的时间序列;

  根据场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  可选地,获取模块,具体用于根据预测请求中玩家特征信息的玩家标识,在预设数据库中检索获取玩家标识对应的场景序列和时间序列;

  若检索到,根据预测请求中的场景标识和时间信息,对玩家标识对应的场景序列和时间序列进行更新,获取更新后的场景序列和时间序列;

  根据更新后的场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  可选地,获取模块,具体用于根据嵌入网络层获取场景序列所对应的多维度嵌入向量;

  根据注意力机制层,对多维度嵌入向量和场景序列对应的时间序列进行抽取,获取抽取向量;

  将抽取向量输入到前馈神经网络层,获取映射向量;

  根据映射向量以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  可选地,获取模块,具体用于将映射向量输入第一全连接层,获取固定长度的序列信息向量;

  将序列信息向量与玩家特征信息所对应的玩家特征向量进行拼接,获取拼接向量;

  采用第二全连接层,提取拼接向量中的特征信息;

  将拼接向量中的特征信息输入预设分类层,获取至少一个备选场景所对应的概率分布;

  根据概率分布预测下一目标场景,获取预测结果。

  可选地,获取模块,具体用于根据至少一个备选场景所对应的概率分布和各备选场景所对应的预设置信度确定目标场景,获取预测结果。

  可选地,获取模块,具体用于根据至少一个备选场景所对应的概率分布,确定最大概率所对应场景标识;

  根据场景标识对应的预设置信度和最大概率,确定场景标识是否为目标场景标识;

  若是,将场景标识作为目标场景标识。

  可选地,装置还包括第二接收模块,用于接收游戏客户端根据预测结果发送的下载请求,下载请求用于请求下载目标场景对应的场景数据。

  第四方面,本申请实施例提供了一种地图场景预加载模型训练装置,包括:获取模块和训练模块;

  获取模块,用于获取训练数据集,训练数据集包括多个训练样本数据,每个训练样本数据包括场景标识、时间信息、以及玩家特征信息;

  训练模块,用于根据训练数据集,训练获取场景预加载模型,场景预加载模型用于预测当前游戏中的下一目标场景。

  可选地,获取模块,用于获取初始训练数据,初始训练数据包括初始场景序列、初始场景序列对应的时间序列以及初始场景序列对应的玩家特征信息,初始场景序列包括多个场景标识;

  采用滑动窗口对初始场景序列进行滑动处理,获取多个长度不一的初始场景子序列作为训练序列;

  根据训练序列,训练序列对应的时间序列、以及训练序列对应的玩家特征信息,构建训练数据集。

  可选地,上述装置还包括:更新模块,用于根据预设更新频率,获取新的训练样本数据;

  根据新的训练样本数据训练更新场景预加载模型,获取更新后的场景预加载模型。

  第五方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行上述方法的步骤。

  第六方面,本申请实施例提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法的步骤。

  本申请的有益效果是:

  本申请实施例提供的一种地图场景预加载方法、模型训练方法、设备及存储介质中,通过接收游戏客户端发送的预测请求,根据预测请求,通过场景预加载模型预测下一目标场景,获取预测结果,进而可以向游戏客户端发送该预测结果,其中,该预测结果包括目标场景的场景标识,使得游戏客户端在接收目标场景的场景标识后,即可在玩家切换场景前预先加载下一个进入的目标场景,缩减场景切换时的等待时间,提升玩家游戏体验的流畅性。

  附图说明

  为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

  图1为本申请实施例提供的一种地图场景预加载方法的流程示意图;

  图2为本申请实施例提供的另一种地图场景预加载方法的流程示意图;

  图3为本申请实施例提供的又一种地图场景预加载方法的流程示意图;

  图4为本申请实施例提供的另一种地图场景预加载方法的流程示意图;

  图5为本申请实施例提供的又一种地图场景预加载方法的流程示意图;

  图6为本申请实施例提供的一种场景预加载模型的结构示意图;

  图7为本申请实施例提供的一种编码器的结构示意图;

  图8为本申请实施例提供的另一种地图场景预加载方法的流程示意图;

  图9为本申请实施例提供的另一种编码器的结构示意图;

  图10为本申请实施例提供的另一种地图场景预加载方法的流程示意图;

  图11为本申请实施例提供的又一种地图场景预加载方法的流程示意图;

  图12为本申请实施例提供的一种地图场景预加载模型训练方法的流程示意图;

  图13为本申请实施例提供的另一种地图场景预加载模型训练方法的流程示意图;

  图14为本申请实施例提供的一种采用滑动窗口构建训练序列的示意图;

  图15为本申请实施例提供的又一种地图场景预加载模型训练方法的流程示意图;

  图16为本申请实施例提供的一种地图场景预加载装置的功能模块示意图;

  图17为本申请实施例提供的一种地图场景预加载装置的功能模块示意图;

  图18为本申请实施例提供的一种地图场景预加载模型训练装置的功能模块示意图;

  图19为本申请实施例提供的一种电子设备结构示意图。

  具体实施方式

  为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

  因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

  应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

  其中,在介绍本申请之前,为了便于理解本申请,首先对本申请所要用到的相关名词进行解释说明。

  MMORPG:“Massive Multiplayer Online Role Playing Game”的缩写,意为“大型多人在线角色扮演游戏”,是电脑游戏中网络游戏的一种;

  LRU:“Least Recently Used”的缩写,意味“最近最少使用”,是一种系统/软件队列的管理算法:队列中长时间未使用的元素、内容会被剔除;

  HBASE:Hadoop的数据库,一个分布式、可扩展、大数据的存储;

  画像特征:表示用户的属性、行为与期待的多维度数据;

  Redis:一个开源的、基于内存的数据结构存储器,可以用作数据库、缓存和消息中间件;

  OneHotEncode:独热编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效;

  OneNormalize:即归一化,是一种简化计算的方式。将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量;

  Transformer模型:谷歌的开源深度学习模型,主要应用于NLP自然语言处理领域,擅长处理序列类型的数据;

  embedding向量:由一个多维度向量来表示事物,该向量即为事物的embedding向量;

  Softmax分类:用于分类过程,用来实现多分类的:它把所有原始输入映射到(0-1)之间的实数,并且归一化保证和为1,从而使得多分类的概率之和也刚好为1,通常概率最大的类别,即为要选择的种类;

  多分类模型:机器学习模型的一种类型,用于处理多分类任务。构建模型时,需要指定模型需要输出的类别。模型预测时,根据输入数据,模型输出一个涵盖所有类别的概率分布,通常,以概率最大的类别作为输出结果;

  Dense层:也叫全连接层,是深度学习神经网络中的常用规则神经层,Dense层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。

  现有优化场景等待时间的方式主要有两种,方式一,通过优化场景渲染相关代码,提高资源渲染效率,缩短过场等待时间;方式二,从操作系统的角度,实现资源(场景相关贴图,动画等)管理器(LRU算法):通过调度算法,将常用场景资源提前加载到资源队列中,实现资源的预先加载,提高场景的加载速度。

  但现有的方式中,对于第一种方式来说,渲染相关的代码是在收到明确的场景切换事件(如,收到下一个进入场景的id)才执行的,即使优化到极致,过场等待时间也仍然是存在的;而对于第二种方式来说,LRU资源替换算法,将最近经常使用的资源预先加载到管理队列中,虽然LRU在一定程度上起到了预先加载资源的作用,然而并不具备预测即将加载的资源的能力,也无法预测玩家下一个要进入的场景。在真实情景中,一个场景有很多的内容(贴图等)需要渲染,尤其是大型MMORPG游戏,场景包含的资源更多,再加上玩家进入场景的顺序并没有明显的规律,因此队列中的资源与实际要加载的资源有较大不同,能优化的加载速度依然有限。

  有鉴于此,本申请实施例提供一种场景预加载方法可以在玩家切换场景前,提前预测下一个进入的地图场景,让游戏客户端可以提早加载场景资源,缩减场景切换时的等待时间,提升玩家游戏体验的流畅性,具体内容如下:

  图1为本申请实施例提供的一种场景预加载方法的流程示意图,该方法的执行主体可以是与游戏客户端进行交互的游戏服务器,该游戏客户端可以是手机、笔记本电脑、平板电脑、掌上电脑、PAD、台式电脑等,本申请在此不作限定。如图1所示,该方法可以包括:

  S101、接收游戏客户端发送的预测请求。

  预测请求可以包括下述至少一项:当前进入地图的场景标识、时间信息、以及玩家特征信息,玩家特征信息包括玩家标识。

  其中,预测请求用于预测玩家下一个进入的场景,该预测请求可以携带有当前进入地图的场景标识、时间信息、以及玩家特征信息中的至少一项信息。

  上述场景标识可以用于唯一标识游戏场景,玩家进入不同的游戏场景时,其对应的场景标识也是不同的;时间信息,用于表征玩家进行该场景的相关时间,可以包括玩家进入场景的时间、离开场景的时间、以及在场景中停留的时间,本申请在此不作限定;玩家特征信息,可以包括玩家的属性信息、行为与期待信息等多维度特征数据,比如,可以包括玩家性别、等级、职业、登录时长、登录频率、充值等相关信息。当然,需要说明的是,根据实际的应用场景,若包括多个游戏服务器时,该预测请求中还可以包括游戏服务器的服务器标识,便于可以发送给对应的游戏服务器。

  S102、根据预测请求,通过场景预加载模型预测下一目标场景,获取预测结果,预测结果包括目标场景的场景标识。

  其中,场景预加载模型由训练数据集训练获取,训练数据集包括多个训练样本数据,每个训练样本数据包括场景标识、时间信息、以及玩家特征信息。

  游戏服务器在接收在该预测请求后,那么可以根据该预测请求,在玩家切换场景前,通过场景预加载模型基于玩家的当前游戏场景预测玩家下一可能进入的目标场景,生成包括目标场景标识的预测结果。当然,预测结果还可以包括其他信息,比如,有关时间的信息等,本申请在此不作限定。

  S103、向游戏客户端发送预测结果。

  游戏服务器在获取到目标场景的场景标识后,那么可以将携带有该场景标识的预测结果发送给游戏客户端,游戏客户端在接收目标场景的场景标识后,即可在玩家切换场景前预先加载下一个进入的目标场景,使得可以缩减场景切换时的等待时间,提升玩家游戏体验的流畅性。

  综上,本申请实施例所提供的地图场景预加载方法,通过接收游戏客户端发送的预测请求,根据预测请求,通过场景预加载模型预测下一目标场景,获取预测结果,进而可以向游戏客户端发送该预测结果,其中,该预测结果包括目标场景的场景标识,使得游戏客户端在接收目标场景的场景标识后,即可在玩家切换场景前预先加载下一个进入的目标场景,缩减场景切换时的等待时间,提升玩家游戏体验的流畅性。

  当然,本申请在此并不限定场景预加载方法的具体应用场景,可以是MMORPG游戏场景或其他任意游戏场景,本申请在此不作限定。

  可选地,每个训练样本数据还包括:训练序列、训练序列对应的时间序列、以及训练序列对应的玩家特征信息,训练序列包括多个场景标识,每个训练样本数据的场景标签为训练序列中最后一个场景标识。

  其中,训练序列包括多个场景标识,通过训练序列可以反映玩家切换场景的行为信息,也即,通过训练序列可以反映玩家基于当前场景可能进入的场景都有哪些,体现玩家进出场景的场景切换轨迹;训练序列对应的时间序列,则可以反映玩家进入场景的时间、在各场景中的停留时间等,比如,可以反映玩家周期性进入某游戏场景的时间;训练序列对应的玩家特征信息,则可以反映玩家的画像特征,即可以反映玩家的属性、行为与期待等多维度数据。

  综上,由于每个训练样本数据包括了训练序列、训练序列对应的时间序列、以及训练序列对应的玩家特征信息,因此,根据前述训练数据集训练获取场景预加载模型时,模型不仅考虑了玩家进入场景的序列对预测的影响,还考虑了序列中时间维度的信息和其所对应的玩家特征信息对预测的影响,也即可以综合多方面的数据训练获取场景预加载模型,使得预测结果更为准确。

  图2为本申请实施例提供的另一种地图场景预加载方法的流程示意图。因为游戏更新的频繁,玩家进入场景的序列会跟着更新的玩法、内容而改变,为了使得场景预加载模型适应游戏新更新的内容,保证模型的预测准确度。可选地,如图2所示,上述方法还包括:

  S201、根据预设更新频率,获取新的训练样本数据。

  S202、根据新的训练样本数据训练更新场景预加载模型,获取更新后的场景预加载模型。

  其中,新的训练样本数据可以根据游戏服务器中玩家最新的登录数据获取,比如,玩家前3日登录了游戏,而前2日内都没有登录,那么可以根据玩家前3日的登录数据获取新的训练样本数据;又或者,玩家前1日登录了游戏,那么可以根据玩家前1日的登录数据获取新的训练样本数据,使得通过新的训练样本数据可以训练更新已有的场景预加载模型,从而使用更新后的场景预加载模型进行场景预测时,可以提高预测的准确度。

  另外,需要说明的是,上述预设更新频率可以是1天、3天等,本申请在此不作限定,根据实际的应用场景可以灵活设置。比如,预设更新频率可以为1天,每天早上8点钟则获取新的训练样本数据,并对场景预加载模型进行更新,更新过程可参见后续有关模型的训练过程。

  图3为本申请实施例提供的又一种地图场景预加载方法的流程示意图。可选地,如图3所示,上述根据预测请求,通过场景预加载模型预测下一目标场景,获取预测结果,包括:

  S301、分别根据预测请求中的场景标识和时间信息,生成场景序列和场景序列对应的时间序列。

  S302、根据场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  其中,在接收到预测请求后,那么可以预测请求中的场景标识和时间信息,生成对应的场景序列和时间序列,进而场景预加载模型根据该场景序列、时间序列以及预测请求中的玩家特征信息可以预测下一目标场景,具体过程可参见下文的相关说明。当然,需要说明的是,若场景预加载模型以应用程序接口(Application Programming Interface,API)的形式对外提供服务,那么,可以将场景序列、时间序列以及预测请求中的玩家特征信息作为API请求参数,调用相关的API服务,实现目标场景的预测。

  图4为本申请实施例提供的另一种地图场景预加载方法的流程示意图。可选地,如图4所示,上述根据场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果的过程可以包括:

  S401、根据预测请求中玩家特征信息的玩家标识,在预设数据库中检索获取玩家标识对应的场景序列和时间序列。

  S402、若检索到,根据预测请求中的场景标识和时间信息,对玩家标识对应的场景序列和时间序列进行更新,获取更新后的场景序列和时间序列。

  S403、根据更新后的场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  其中,可以以玩家标识role_id为索引,从预设数据库中(比如,Redis数据库)中检索玩家已有map_id序列,timestamp序列;若无,则创建新的场景序列和时间序列;若检索到有关该玩家标识的场景序列和时间序列,那么可以将该玩家标识对应的场景标识map_id和时间信息timestamp分别添加已有的map_id序列和timestamp序列的末尾,获取更新后的场景序列、时间序列以及更新Redis数据库,进而场景预加载模型根据更新后的场景序列、时间序列以及预测请求中的玩家特征信息可以预测下一目标场景。当然,上述预设数据库也可以是其他类型的数据库,根据实际的应用场景可以灵活设置。

  另外,实际应用过程中,还可以以玩家标识role_id为索引,在Redis数据库中检索玩家的“画像特征”数据;若无,则启动异步进程,从HBASE中获取玩家最新的原始画像特征,处理后存入Redis数据库;其中,“画像特征”数据可以表示玩家的属性、行为与期待的多维度数据,可以对应本申请中的玩家特征信息。当然,若预测请求中包括服务器标识时,还可以以玩家标识role_id和服务器标识server_id为索引,如此,可以提高检索效率。

  综上,本申请实施例中可以根据预测请求中的场景标识、时间信息生成对应的场景序列和时间序列,进而基于该场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型可以预测下一目标场景,提高场景预测的准确性。

  图5为本申请实施例提供的又一种地图场景预加载方法的流程示意图。图6为本申请实施例提供的一种场景预加载模型的结构示意图。可选地,如图6所示,该模型可以包括多个编码器和分类器,本申请实施例中的场景预加载模型可以基于Transformer神经网络实现,将场景序列、时间序列以及预测请求中的玩家特征信息输入Transformer神经网络,经过层层神经网络层进行运算后,将最终结果传给“分类器”(专门处理分类的网络层)计算预测结果。其中,通过场景序列可以提取玩家行为维度的信息;通过时间序列可以提取与行为相关的时间维度的信息,具体地,可参见下述的相关内容。

  可选地,如图5所示,上述根据场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果,包括:

  S501、根据嵌入网络层获取场景序列所对应的多维度嵌入向量。

  可以通过嵌入网络层(embedding)将场景序列中的map_id映射为多维度嵌入向量(embedding),所有map_id映射后的向量长度都一样,场景序列中的各场景标识map_id经过embedding层后,可以映射为e_1,e_2,e_3等定长向量。

  S502、根据注意力机制层,对多维度嵌入向量和该场景序列对应的时间序列进行抽取,获取抽取向量。

  图7为本申请实施例提供的一种编码器的结构示意图。其中,注意力机制层可以基于注意力机制实现,比如,可以为自注意力机制层(self-attention层),其中,“注意力机制”可以利用预设计算公式计算序列中的各个map_id的注意力分数attention value,而区别于Transformer模型原生的计算公式,原有的计算公式仅考虑了序列中场景标识map_id的顺序关系,本申请则将时间timestamp考虑了进来,通过改写attention value的计算公式,在公式中加入了timestamp,进而让整个神经网络模型具备“学习时间信息”的能力。

  如图7所示,在自注意力机制层(如图中self-attention层)中,本申请的输入不仅有map_id对应的多维度嵌入向量e_1,e_2,还有其对应的时间timestamp分别为t_1,t_2,self-attention层负责从输入向量(如图中,e_1、e_2、t_1、t_2)中抽取序列信息,得到抽取向量(如图中,s_1,s_2)。

  另外,需要说明的是,本申请中通过引入注意力机制和时间信息可以进一步提高模型预测的准确性的原理如下。其中,本申请通过引入注意力机制可以找出场景序列中对下一个进入的地图(或场景)影响较大的若干张地图;而引入该场景序列对应的时间序列,通过该时间序列对应的时间信息可以更准确的指导哪些地图(或场景)更应该受到“注意”,对后续进入的地图影响较大,从而增强预测准确性。其中,本申请中的时间信息根据时间长短可以划分为“短期”时间信息和“长期”时间信息,“短期”时间信息,可以反映短时间内(比如,5分钟)连续进入的若干张地图,指示了玩家目前正在进行某种活动,则实际预测中,与这种活动相关的地图作为下一张进入的地图的概率比较大;而“长期”时间信息,可以反映周期性(比如,每周/每月)出现的玩法、活动等,则当玩家处于相同周期时,参与对应玩法的概率会比较大,这种情况下,过去相同周期内出现的场景序列对预测有着重要的指导价值。因此,本申请中通过场景序列和其对应的时间序列的结合,可以进一步提高模型预测准确性。

  S503、将抽取向量输入到前馈神经网络层,获取映射向量。

  如图7所示,在得到抽取向量后,则可以将该抽取向量输入到前馈神经网络层(如图中feed-forward层),向下一个“编码器”传递信息向量,得到映射向量(如图中f_1、f_2),该映射向量则作为下一个“编码器”的输入,从中进一步抽取“行为信息”。

  S504、根据映射向量以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  另外,需要说明的是,为了使得可以将玩家特征信息考虑进来,进一步提高预测的准确性,本申请还将场景序列中全部map_id最终获得的映射向量(如图中f_1、f_2)以及预测请求中的玩家特征信息两者结合起来,使得通过场景预加载模型预测下一目标场景时,可以针对不同的玩家特征信息进行个性化预测,所获取的预测结果可以更准确,具体结合过程可以参见下述的相关说明。

  图8为本申请实施例提供的另一种地图场景预加载方法的流程示意图。图9为本申请实施例提供的另一种编码器的结构示意图。可选地,如图8所示,上述根据映射向量以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果,包括:

  S601、将映射向量输入第一全连接层,获取固定长度的序列信息向量。

  如图9所示,本申请中将场景序列中全部map_id最终获得的映射向量(如图中f_1、f_2、...f_N)作为第一全连接层的输入,最终获取一个固定长度的序列信息向量。

  S602、将序列信息向量与玩家特征信息所对应的玩家特征向量进行拼接,获取拼接向量。

  在获取序列信息向量后,本申请在此引入玩家特征信息所对应的玩家特征向量,并将序列信息向量与玩家特征向量进行拼接,获得最终的拼接向量。

  S603、采用第二全连接层,提取拼接向量中的特征信息。

  其中,该第二全连接层可以是Dense层,Dense层可以起到“特征交叉”的作用,通过Dense层,模型可以充分学习拼接起来的特征,充分提取拼接向量中的信息。可选地,该第二全连接层的网络结构与前述第一全连接层的网络结构可以相同或不同,本申请在此不作限定。

  S604、将拼接向量中的特征信息输入预设分类层,获取至少一个备选场景所对应的概率分布。

  预设分类层可以是Softmax多分类层,将拼接向量中的特征信息输入Softmax多分类层,通过Softmax多分类层可以获取至少一个备选map_id的作为下一个场景的概率,得到对应的概率分布。其中,需要说明的是,备选场景可以包括所有的可选场景,当然,根据实际的应用场景也可以自行设置。

  S605、根据概率分布预测下一目标场景,获取预测结果。

  在获取到所有备选场景所对应的概率分布后,那么可以根据至少一个备选场景所对应的概率来预测下一目标场景,获取到对应的预测结果,实现对目标场景的预测。

  在前述实施例的基础上,由于备选场景可能包括多个,每一备选场景可能对应不同的备选概率,而具体确定哪个备选场景为目标场景,可以参见下述的相关说明。可选地,上述根据概率分布预测下一目标场景,获取预测结果,包括:

  根据至少一个备选场景所对应的概率分布和各备选场景所对应的预设置信度确定目标场景,获取预测结果。

  其中,可以为每一备选场景设置一预设置信度,当然,需要说明的是,各备选场景对应的预设置信度可以相同也可以不同,预设置信度的设置可以根据历史数据中玩家进行各备选场景的频次来确定,本申请在此不作限定,根据实际的应用场景可以自行设置。进而实际预测时,则根据该备选场景对应的概率和预设置信度来确定目标场景,比如,某备选场景所对应的概率大于该备选场景的预设置信度时,则该备选场景可以为目标场景;否则,该目标场景为其他备选场景。此外,需要说明的是,备选场景包括多个时,所有备选场景所对应的概率之和应为100%。

  图10为本申请实施例提供的另一种地图场景预加载方法的流程示意图。可选地,如图10所示,上述根据至少一个备选场景所对应的概率分布和各备选场景所对应的预设置信度确定目标场景,获取预测结果,包括:

  S701、根据至少一个备选场景所对应的概率分布,确定最大概率所对应场景标识。

  S702、根据场景标识对应的预设置信度和最大概率,确定场景标识是否为目标场景标识。

  S703、若是,将场景标识作为目标场景标识。

  其中,可以先确定概率分布中最大备选概率所对应的场景标识,然后根据该场景标识对应的预设置信度和备选概率来确定该场景标识是否为目标场景标识。比如,从概率分布中选取备选概率最大的场景map_id,然后比较该map_id的备选概率P与map_id的预设置信度T;若P>=T,则可以该场景标识作为目标场景标识,并作为预测结果返回给游戏客户端;而若P<T,则可以给游戏客户端返回一个“0”值(比如,实际map_id中不包含0),表示无预测结果,其中,需要说明的是,本申请所提供的地图预加载方法并不是对游戏客户端发送的所有预测请求都会给出相应的预测结果,比如,上述返回“0”的值,则表示游戏客户端无需进行预加载。

  当然,需要说明的是,根据实际的应用场景也可以各备选场景的预设置信度进行自行调节,比如,对于一些对预测准确度要求较高的地图,可以调高这些地图的置信度,保证这些地图在模型有把握的时候才进行输出。其中,置信度的取值范围可以为0<T<1,可选地,置信度T可以默认为0.3,对于准确度要求较高的地图,则可以将该置信度调节为0.5、0.6或其他任意值。

  另外,基于本申请所构建的场景预加载模型,本申请还对该场景预加载模型进行了相应的验证,具体验证过程如下。其中,本申请选取了5天内某个服务器的玩家进行进入地图的数据来做验证,其中,服务请求次数、预测准确率、服务覆盖率之间的对应关系见下表:

  表1

  其中,服务请求次数,表示5天内某服务器所有玩家的“预测请求”次数;服务覆盖率,表示当预测结果的置信度(某场景为下一个进入场景的可能性)较低时,服务是不会返回预测结果的;则有返回的请求数量与所有请求的数量的比值即为“服务覆盖率”;预测准确率,表示给出预测结果的请求中,预测地图与实际进入地图相同的概率(预测命中);由此可知,本申请所提供的场景预加载模型在一定程度上可以预测预测玩家下一个进入的场景,使得游戏客户端可以预先加载或渲染场景资源,缩减场景切换时的等待时间,提升玩家游戏体验的流畅性。

  当然,需要说明的是,实际预测过程中对于个别渲染资源较多的场景,可以适应性的调节该场景的置信度,以便可以有针对性的调高对该场景预测的准确率。

  综上,本申请实施例所提供的场景预加载模型中,不仅考虑了玩家进入场景的序列对预测的影响,还考虑了序列中时间维度的信息,比如:在某个场景中停留的时间,短时间内连续进入的多个场景等“短期时间信息”,这种短期时间信息暗示着玩家正在进行游戏中某个特定的玩法,或者玩家实现某种意图;还有“长期时间信息”,比如周期性信息,玩家在每一个周四晚上都会有序的进入某几个场景。而除了引入时间维度的信息,模型还兼顾了玩家的特征信息,使得可以针对每个玩家的特点,给出个性化的预测结果,使得预测结果更全面、更准确。

  图11为本申请实施例提供的又一种地图场景预加载方法的流程示意图。可选地,如图11所示,上述向游戏客户端发送预测结果之后,还包括:

  S801、接收游戏客户端根据预测结果发送的下载请求,下载请求用于请求下载目标场景对应的场景数据。

  当然,需要说明的是游戏服务器在向游戏客户端发送预测结果后,游戏服务器基于该预测结果可以向游戏服务器发送下载请求,用于请求下载目标场景对应的场景数据,而游戏服务器则接收游戏客户端发送的下载请求,将目标场景对应的场景数据发送给游戏客户端,后续游戏客户端根据该目标场景对应的场景数据可以实现预加载。

  图12为本申请实施例提供的一种地图场景预加载模型训练方法的流程示意图,该方法的执行主体可以是与前述游戏服务器,如图12所示,该训练方法包括:

  S901、获取训练数据集,训练数据集包括多个训练样本数据,每个训练样本数据包括场景标识、时间信息、以及玩家特征信息。

  S902、根据训练数据集,训练获取场景预加载模型,场景预加载模型用于预测当前游戏中的下一目标场景。

  其中,训练数据集可以根据游戏服务器中存储玩家历史登录数据的数据库(比如,可以是HBASE数据库)中获取,当然,也可以通过文件导入的方式导入游戏服务器,本申请在此不作限定,根据实际的应用场景可以灵活选择。对于训练数据集的相关说明可参见前述的相关部分,本申请在此不再赘述。

  另外,需要说明的是,对于训练好的场景预加载模型,也可以将该场景预加载模型存储为可以即时响应的文件,并将该文件存储到更新时方便访问的云存储中。可选地,也可以根据训练好的场景预加载模型产生一个对外服务的API。

  图13为本申请实施例提供的另一种地图场景预加载模型训练方法的流程示意图。图14为本申请实施例提供的一种采用滑动窗口构建训练序列的示意图。可选地,如图13所示,上述获取训练数据集,包括:

  S1001、获取初始训练数据,初始训练数据包括初始场景序列、初始场景序列对应的时间序列以及初始场景序列对应的玩家特征信息,该初始场景序列包括多个场景标识。

  其中,游戏服务器可以根据其相关的数据库获取初始训练数据集,比如,从HBASE中获取以下数据:初始场景序列:序列中内容为多个有序的场景标识,按进入场景的时间升序排列,可以记为map_id序列;初始场景序列对应的时间序列,可以记为timestamp序列;初始场景序列对应的玩家特征信息,可以表示玩家在该初始场景序列下玩家的特征数据。

  当然,需要说明的是,从HBASE中获取初始训练数据集时,可以先获取原始数据,然后对原始数据进行一定的筛选,从而可以获取到符合条件的初始训练数据集。比如,可以从当前训练日期算起,获取该训练日期前预设天数内(比如,前7日)所有登录游戏的玩家;并基于所获取的玩家,筛选当前综合排名符合预设排名要求的玩家(也即尽可能的选择正常进行游戏的玩家)。在确定了符合筛选条件的玩家之后,可以进一步获取符合筛选条件玩家的所有连续不重复map_id序列,对应的timestamp序列、以及对应的玩家特征信息。另外,对于从HBASE中所获取的初始训练数据集,也可以将其存储在Redis数据库,便于游戏服务器进行调用。

  S1002、采用滑动窗口对初始场景序列进行滑动处理,获取多个长度不一的初始场景子序列作为训练序列。

  在获取到初始场景序列后,那么可以采用滑动窗口的方式构建数据集,可选地,可以对于玩家的map_id序列进行“滑窗操作”,如图14所示,最下面的序列可以一条初始场景序列,ID一共有4种,依次滑窗选取输入序列和场景标签,如图14所示,每一初始场景子序列中最后一个场景标识可以为该训练序列的场景标签。其中,初始场景子序列的总序列长度可以大于1,并小于预设长度数(比如,10),而将多个长度不一的初始场景子序列作为训练序列可以将不同情况下玩家进入场景的个数考虑进来,充分体现玩家进出场景的轨迹,使得预测结果更为准确。

  S1003、根据训练序列,训练序列对应的时间序列、以及训练序列对应的玩家特征信息,构建训练数据集。

  在获取到各训练序列后,那么可以根据各训练序列获取其对应的时间序列、以及训练序列对应的玩家特征信息。当然,本申请在此并不对该训练序列对应的时间序列的获取方式进行限定,可选地,可以采用与上述训练序列相同的方式,比如,通过滑动窗口获取训练序列对应的时间序列;其中,需要说明的是,若各训练序列是通过同一初始训练数据所获得的,则各训练序列所对应的玩家特征信息可以为该初始训练数据所对应的玩家特征信息。

  当然,需要说明的是,在获取到上述初始训练数据后,还可以对该训练数据进行相应的预处理操作,使得经过预处理操作后,初始训练数据可以符合模型对训练数据的要求。其中,预处理操作可参见下述的内容:

  对于初始场景序列来说,可以将初始场景序列中各场景标识根据出现的频次按降序从1~N-1进行编号,N为地图(或场景)的种类数量,如此,可以将用字符串表示的场景标识转换为用整数表示,即处理成模型可以处理的标识形式。比如:某初始场景序列为:ID_1、ID_2、ID_1、ID_4、ID_2、ID_4、ID_2、ID_4、ID_3、ID_4;通过统计可知,ID_1、ID_2、ID_3、ID_4出现的频次分别为:2、3、1、5,按其出现的频次进行降序排列可以得到排序:ID_4、ID_2、ID_1、ID_3,而按地图的种类数量对进行编号可以得到如下的映射结果:ID_4:1,ID_2:2,ID_1:3,ID_3:4,则服务器可以将该映射结果以映射表的方式进行存储,便于后续在确定目标场景时,可以根据该映射表确定实际的场景标识,进而可以将该场景标识发送给游戏客户端。

  对于初始场景序列对应的时间序列,可以不作处理;对于初始场景序列对应的玩家特征信息来说,可以采用oneHotEncode编码方式将玩家特征信息处理成数字向量,通过该上述预处理操作可以使得初始训练数据可以符合模型对训练数据的要求,便于模型的训练。当然,需要说明的是,预处理操作并不以为限,根据实际的应用场景可以灵活调节。

  图15为本申请实施例提供的又一种地图场景预加载模型训练方法的流程示意图。可选地,如图15所示,上述方法还包括:

  S1101、根据预设更新频率,获取新的训练样本数据。

  S1102、根据新的训练样本数据训练更新场景预加载模型,获取更新后的场景预加载模型。

  当然,需要说明的是,实际应用过程中服务器可以根据预设更新频率从预设数据库中获取新的训练样本数据,进而根据该新的训练样本数据训练更新场景预加载模型时,所获取的场景预加载模型在进行场景预测时,预测结果更准确。

  图16为本申请实施例提供的一种地图场景预加载装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图16所示,该地图场景预加载装置300可以包括:第一接收模块310、获取模块320及发送模块330。

  第一接收模块310,用于接收游戏客户端发送的预测请求,预测请求包括下述至少一项:当前进入地图的场景标识、时间信息、以及玩家特征信息,玩家特征信息包括玩家标识;

  获取模块320,用于根据预测请求,通过场景预加载模型预测下一目标场景,获取预测结果,预测结果包括目标场景的场景标识;其中,场景预加载模型由训练数据集训练获取,训练数据集包括多个训练样本数据,每个训练样本数据包括场景标识、时间信息、以及玩家特征信息;

  发送模块330,用于向游戏客户端发送预测结果。

  可选地,每个训练样本数据还包括:训练序列、训练序列对应的时间序列、以及训练序列对应的玩家特征信息,训练序列包括多个场景标识,每个训练样本数据的场景标签为训练序列中最后一个场景标识。

  图17为本申请实施例提供的一种地图场景预加载装置的功能模块示意图。可选地,如图17所示,该地图场景预加载装置300还包括:更新模块340,用于根据预设更新频率,获取新的训练样本数据;

  根据新的训练样本数据训练更新场景预加载模型,获取更新后的场景预加载模型。

  可选地,获取模块320,具体用于分别根据预测请求中的场景标识和时间信息,生成场景序列和场景序列对应的时间序列;

  根据场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  可选地,获取模块320,具体用于根据预测请求中玩家特征信息的玩家标识,在预设数据库中检索获取玩家标识对应的场景序列和时间序列;

  若检索到,根据预测请求中的场景标识和时间信息,对玩家标识对应的场景序列和时间序列进行更新,获取更新后的场景序列和时间序列;

  根据更新后的场景序列、时间序列以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  可选地,获取模块320,具体用于根据嵌入网络层获取场景序列所对应的多维度嵌入向量;

  根据注意力机制层,对多维度嵌入向量和场景序列对应的时间序列进行抽取,获取抽取向量;

  将抽取向量输入到前馈神经网络层,获取映射向量;

  根据映射向量以及预测请求中的玩家特征信息,通过场景预加载模型预测下一目标场景,获取预测结果。

  可选地,获取模块320,具体用于将映射向量输入第一全连接层,获取固定长度的序列信息向量;

  将序列信息向量与玩家特征信息所对应的玩家特征向量进行拼接,获取拼接向量;

  采用第二全连接层,提取拼接向量中的特征信息;

  将拼接向量中的特征信息输入预设分类层,获取至少一个备选场景所对应的概率分布;

  根据概率分布预测下一目标场景,获取预测结果。

  可选地,获取模块320,具体用于根据至少一个备选场景所对应的概率分布和各备选场景所对应的预设置信度确定目标场景,获取预测结果。

  可选地,获取模块320,具体用于根据至少一个备选场景所对应的概率分布,确定最大概率所对应场景标识;

  根据场景标识对应的预设置信度和最大概率,确定场景标识是否为目标场景标识;

  若是,将场景标识作为目标场景标识。

  可选地,如图17所示,该地图场景预加载装置300可以还包括第二接收模块350,用于接收游戏客户端根据预测结果发送的下载请求,下载请求用于请求下载目标场景对应的场景数据。

  图18为本申请实施例提供的一种地图场景预加载模型训练装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图18所示,该地图场景预加载模型训练装置400包括:获取模块410和训练模块420。

  获取模块410,用于获取训练数据集,训练数据集包括多个训练样本数据,每个训练样本数据包括场景标识、时间信息、以及玩家特征信息;

  训练模块420,用于根据训练数据集,训练获取场景预加载模型,场景预加载模型用于预测当前游戏中的下一目标场景。

  可选地,获取模块410,用于获取初始训练数据,初始训练数据包括初始场景序列、初始场景序列对应的时间序列以及初始场景序列对应的玩家特征信息,初始场景序列包括多个场景标识;

  采用滑动窗口对初始场景序列进行滑动处理,获取多个长度不一的初始场景子序列作为训练序列;

  根据训练序列,训练序列对应的时间序列、以及训练序列对应的玩家特征信息,构建训练数据集。

  可选地,该地图场景预加载模型训练装置还包括:更新模块,用于根据预设更新频率,获取新的训练样本数据;

  根据新的训练样本数据训练更新场景预加载模型,获取更新后的场景预加载模型。

  上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

  以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。

  图19为本申请实施例提供的一种电子设备结构示意图。如图19所示,该电子设备可以包括:处理器510、存储介质520和总线530,存储介质520存储有处理器510可执行的机器可读指令,当电子设备运行时,处理器510与存储介质520之间通过总线530通信,处理器510执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。

  可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。

  在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

  作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

  另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

  上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

  需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

  以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

《地图场景预加载方法、模型训练方法、设备及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)