CN109976751A - 模型操作方法、相关装置及计算机可读介质 - Google Patents
模型操作方法、相关装置及计算机可读介质 Download PDFInfo
- Publication number
- CN109976751A CN109976751A CN201910246181.9A CN201910246181A CN109976751A CN 109976751 A CN109976751 A CN 109976751A CN 201910246181 A CN201910246181 A CN 201910246181A CN 109976751 A CN109976751 A CN 109976751A
- Authority
- CN
- China
- Prior art keywords
- system platform
- variable
- offline model
- script file
- padding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000015654 memory Effects 0.000 claims abstract description 33
- 238000004458 analytical method Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种客户端,包括处理器、存储器以及总线,所述处理器和所述存储器通过所述总线连接,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,用于执行特定的模型操作方法,以提升模型的利用率和实用性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种模型操作方法、相关装置及计算机可读介质。
背景技术
在操作系统或操作平台中,为实现数据的准确存储和寻址,需按照地址总线的宽度进行数据的存储和寻址。以64位(bit)的操作系统为例,其处理的寻址范围为64位;又如32位(bit)的操作系统,其处理的寻址范围为32位。
在实践中发现,针对同一数据,以数据为离线模型为例,厂商为客户提供的离线模型通常是针对某一特定位机的操作系统或平台设计,例如支持X86_64平台上运行,其仅支持在64bit的操作系统或平台中实现存储(生成)和解析,不支持除64位机外的任意位机的操作系统或平台中实现离线模型的生成或解析,不便于离线模型的推广,降低了离线模型的利用率和实用性。
发明内容
本发明实施例提供一种模型操作方法,能够在任意位机的操作系统或平台中实现离线模型的生成和/或解析操作,从而提升了离线模型的利用率和实用性。
第一方面,本发明实施例提供了一种模型处理方法,该方法包括:客户端获取离线模型适用的脚本文件,该脚本文件中指示有运行该离线模型的第一系统平台,该离线模型为预先在第二系统平台上设计好的。进一步客户端根据该脚本文件,在第一系统平台中完成离线模型的生成操作和/或解析操作。
通过实施本发明实施例,能够在任意位机的操作系统或操作平台(本申请可简称为系统平台)中实现离线模型的生成和解析,从而提升了离线模型的利用率和实用性。
在一些可能的实施例中,脚本文件中指示或定义有宏程序,该宏程序中包括有至少一个指针变量,该指针变量用于实现离线模型的生成操作和/或解析操作。当第一系统平台支持的比特位和第二系统平台支持的比特位不同时,该宏程序中还包括有补齐变量,该补齐变量用于对指针变量所指示的数据内容进行补位,以寻址指针变量的下一个变量。
在一些可能的实施例中,宏程序中未定义指针变量的大小,且第二系统平台支持的比特位大于第一系统平台支持的比特位。
在一些可能的实施例中,补齐变量的大小为n bit,补齐变量的数量有(M-n)/n个,M为第二系统平台支持的比特位。
在一些可能的实施例中,M=64,n=32。
在一些可能的实施例中,客户端在第一系统平台中,能根据宏程序中的补齐变量对指针变量所指示的数据内容进行补位,以寻址指针变量的下一变量,从而实现脚本文件对应的离线模型的生成操作和/或解析操作。
第二方面,本发明实施例提供了一种模型处理装置,该模型处理装置包括用于执行上述第一方面的方法的单元。
第三方面,本发明实施例提供了一种客户端,包括处理器、存储器以及总线,所述处理器和所述存储器通过所述总线连接,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,用于执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
通过实施本发明实施例,能够在任意位机的系统平台上实现离线模型的生成和/或解析操作,从而有利于离线模型的推广,提升离线模型的利用率和实用性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种模型操作方法的流程示意图。
图2是本发明实施例提供的一种模型操作装置的结构示意图。
图3是本发明实施例提供的一种客户端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先,介绍本申请涉及的一些技术术语或技术概念。
机器学习库(cambricon neuware machine learning library,CNML),用于提供一套高效、通用、灵活、可扩展的编程接口,支持在人工智能处理器(machine leaningunit,MLU)上加速各种深度学习算法或机器学习算法,且还可用于生成离线模型。具体的,在CNML编译阶段,客户端可通过第一脚本文件采用宏程序的方式控制或指示调用CNML库中的宏程序生成离线模型。
运行时库(cambricon neuware runtime library,CNRT),用于提供一套面向MLU设备的高级(high-level)接口,用于完成主机和MLU设备之间的交互,且还可用于解析离线模型。具体的,在CNRT运行阶段,客户端可通过第二脚本文件采用宏程序的方式控制或指示调用CNRT中的宏程序来解析离线模型,使得离线模型中的模型参数、初始条件等信息可以公式、方程式和不等式等形式来表示。
在实际应用中,为满足不同客户的实际需求,客户端需设计不同的脚本文件来实现,通常针对每个客户而言其需设计一个脚本文件。换句话说,针对同一个客户而言,本申请上文中CNML编译阶段和CNRT运行阶段客户端对应所使用的第一脚本文件和第二脚本文件具体可为该客户定制的一个脚本文件。该脚本文件中包括有编译好的组成该离线模型的至少一个数据结构体,以保证离线模型在任一系统平台中的生成过程和解析过程一致。为方便描述,本申请将“第一脚本文件”和“第二脚本文件”均统称为“脚本文件”。
离线模型,指序列化已编译好的算子,并承载于离线文件中。在实际应用中,该离线模型以离线文件的形式保存,其具体由编译好的至少一个数据结构体组成,该数据结构体中包括有组成离线模型的相关信息。以离线模型为神经网络模型为例,该数据结构体中包括有诸如卷积层、池化层、激活层等网络层的权值和权值等信息。可选地,该离线模型(或数据结构体)中还可包括离线模型的版本信息、运行指令信息以及其他数据信息等,本申请不做限定。
其次,为解决现有技术中存在的问题:无法在任意机位的系统平台中实现离线模型的生成或解析操作,本申请特提出一种模型操作方法以及该方法适用的客户端。请参见图1,是本发明实施例提供的一种模型操作方法的流程示意图。如图1所示的模型操作方法,包括如下实施步骤:
步骤S102、客户端获取离线模型适用的脚本文件,该脚本文件中指示有运行离线模型的第一系统平台,该离线模型为预先在第二系统平台中设计好的。
本申请中,CNML和CNRT中通过脚本文件定制宏程序的方式来区分离线模型所需运行的第一系统平台。换句话说,CNML和CNRT通过脚本文件定义有离线模型所需运行的第一系统平台。该第一系统平台具体可为用户侧或客户端侧自定义设置的,例如该第一系统平台可为32位(bit)、64bit的系统平台等。
在不同应用场景中,本申请涉及的脚本文件的作用可不同。例如,在离线模型生成阶段(即上文描述的CNML编译阶段),该脚本文件用于生成离线模型。在离线模型解析阶段(即上文描述的CNRT运行阶段),该脚本文件用于解析离线模型。该离线模型具体可为预先在第二系统平台上编译生成的,该第二系统平台为用户侧或客户端侧自定义设置的。在实际应用中,第一系统平台和第二系统平台互不相同,它们各自支持的比特位也不相同。关于该脚本文件和离线模型具体可参见前述实施例中的相关阐述,这里不在赘述。
步骤S104、客户端根据脚本文件,在第一系统平台中完成离线模型的生成操作和/或解析操作。
客户端在获得脚本文件后,可在第一系统平台中使用该脚本文件完成离线模型的生成和/或解析操作。
作为一种可能的实施例,脚本文件中指示有包括指针变量在内的宏程序,该宏程序用于实现离线模型的生成操作和/或解析操作。当第一系统平台和第二系统平台不同时,即第一系统平台支持的比特位和第二系统平台支持的比特位不同时,该宏程序中还包括补齐变量,该补齐变量用于对所述指针变量所指示的数据内容进行补位,以寻址宏程序中该指针变量的下一个变量。
在实际应用中,宏程序中指针变量的数量并不做限定,其可有一个或多个。针对每个指针变量而言,当该指针变量的大小未被定义时,为实现离线模型跨系统平台的生成和/或解析操作,宏程序中还需定义有该指针变量对应的补齐变量,该对齐变量的数量并不做限定,其可为一个或多个。具体的,该对齐变量的数量可为:(M-n)/n个,其中M为离线模型原本设计适用的第二系统平台支持的比特位,n为补齐变量的大小(比特位)。
相应地,当该指针变量的大小已被定义时,实际应用中该指针变量的大小通常定义为与第二系统平台支持的比特位大小相同,此时无需在宏程序中新定义补齐变量,也能实现跨系统平台离线模型的正确生成和/或解析操作。
在可选实施例中,宏程序具体可以数据结构体的形式呈现,换句话说,宏程序中可包括至少一个数据结构体,该数据结构体用于实现离线模型的生成操作和/或解析操作。该数据结构体中包括至少一个变量成员,也可简称为变量或成员,例如上述实例中的指针变量和对齐变量等。为方便描述,本申请下文用“变量成员”来统称“变量”、“成员”以及“变量成员”。
举例来说,以第一系统平台为32bit的系统平台、第二系统平台为64bit的系统平台为例。假设厂商为某客户boya提供的离线模型为在64bit的第二系统平台上生成,为实现64bit离线模型在32bit的第一系统平台中完成正确地解析操作。本申请采用的boya脚本文件中定义有跨系统平台BOYA_PLATFORM宏程序,该宏程序承载于数据结构体stackData中,具体如下表1示例:
表1
如上表1中标粗代码行表示数据结构体stackData中新定义的跨系统平台宏程序,该数据结构体中定义有一个指针变量成员*ptr和一个补齐变量成员pad。该补齐变量成员pad的大小为32bit,由于设计离线模型适用的第二系统平台为64bit,为帮助客户端正确寻址到指针变量成员的下一成员,即表1中*ptr地址变量成员的下一变量成员bytes。在实际离线模型解析过程中,客户端需对32bit的地址变量成员*ptr所指示数据的存储地址进行32位的数据补位,以实现地址对齐,寻址到指针变量成员的下一变量成员,这里即表1中64位的bytes成员。
在可选实施例中,该数据结构体中还可包括其他变量成员,例如版本变量成员、标识变量成员、地址变量成员、大小变量成员、数量变量成员或其他客户端自定义的功能变量成员等,本申请不做限定。例如上表1中,该数据结构体中包括版本变量成员version,用于指示离线模型的版本号。标识变量成员id用于识别或区分离线模型,地址变量成员*ptr用于指示离线模型的存储地址,大小变量成员bytes用于指示数据结构体的大小,数量变量成员stack_num用于指示离线模型中包括的数据结构体数量等等,这里不做过多详述。
在可选实施例中,每个数据结构体中的首个变量成员(即第一个变量成员)可存储在客户端侧或系统平台侧起始地址(offset)为0的地方,该数据结构体中的其余变量成员需从第一系统平台所支持bit位的整数倍开始存储。以32bit(4字节byte)的第一系统平台为例,数据结构体中除第一个变量成员外的其余变量成员需从4的整数倍开始存储。
在可选实施例中,数据结构体中每个变量成员的大小可为客户端侧或用户侧自定义设置的,其具体可为系统平台支持bit位的整数倍。例如引用表1所示的数据结构体,该数据结构体中各个变量成员的大小分别为:id4byte(32位bit)、version4byte、*ptr4byte、pad4byte、bytes4byte和stack_num4byte。
作为另一种可能的实施例,当第一系统平台和第二系统平台相同时,即第一系统平台支持的比特位和第二系统平台支持的比特位相同时,脚本文件中无需再定义跨系统平台的宏程序,也能够正常依据脚本文件中既定的程序代码(例如数据结构体)来解析离线模型。
举例来说,以第一系统平台和第二系统平台均为64bit的系统平台为例。假设厂商为某客户boya提供的离线模型为在64bit的第二系统平台中生成的,且解析该离线模型的第一系统平台同样为64bit,为实现64bit离线模型在64bit的第一系统平台中完成正确地解析操作。本申请采用常规的boya脚本文件,该脚本文件中定义有数据结构体stackData,具体如下表2示例:
表2
如上表2,由于在64bit的第一系统平台中,客户端将按照64bit位宽来存储数据,即指针变量成员*ptr为64bit,此时无需对脚本文件中定义的数据结构体进行更改。客户端可直接使用该脚本文件(具体为脚本文件指示定义的数据结构体)寻址到指针变量成员*ptr的下一成员,实现离线模型的解析。关于本实施例中未示出或未描述的内容可参考前述实施例中的相关阐述,这里不再赘述。
参考前述表1和表2所述示例,对比发现:客户端可采用如下表3的寻址方式来实现离线模型的正确解析操作。
表3
在可选实施例中,不论是针对离线模型的生成操作还是解析操作,客户端均需按照脚本文件的指示,依据宏程序中的补齐变量对指针变量所指示的数据进行补位,以寻址宏程序中指针变量的下一变量,从而能够执行完该宏程序实现离线模型的生成操作和/或解析操作。
需要说明的是,本申请涉及的客户端具体可通过软件程序或硬件实现。当其由软件程序实现时,客户端具体可部署在诸如服务器、电脑等硬件设备上运行。当其由硬件实现时,客户端具体可指诸如芯片、智能手机(如Android手机、IOS手机等)、个人电脑、平板电脑、掌上电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式智能设备等设备,本发明实施例不作限定。
通过实施本发明实例,能够解决在不同系统平台上无法实现离线模型的生成操作或解析操作,有助于离线模型的推广,提升了离线模型的利用率和实用性。此外,通过对CNML和CNRT中的脚本文件进行新定义,有利于提升CNML和CNRT的灵活性和可扩展性。
请参见图2,是本发明实施例提供的一种模型操作装置的结构示意图。如图2所示的模型操作装置200包括通信模块202和处理模块204。其中,
所述通信模块202,用于获取离线模型适用的脚本文件,所述脚本文件中指示有运行所述离线模型的第一系统平台,所述离线模型为预先在第二系统平台中设计好的;
所述处理模块204,用于根据所述脚本文件,在所述第一系统平台中完成所述离线模型的生成操作和/或解析操作。
在一些可能的实施例中,所述脚本文件指示有包括至少一个指针变量在内的宏程序,所述宏程序用于实现所述离线模型的生成操作和/或解析操作,
当所述第一系统平台支持的比特位和所述第二系统平台支持的比特位不同时,所述宏程序中还包括补齐变量,所述补齐变量用于对所述指针变量所指示的数据内容进行补位,以寻址所述指针变量的下一个变量。
在一些可能的实施例中,所述指针变量的大小未在所述宏程序中定义。
在一些可能的实施例中,所述补齐变量的大小为n bit,所述补齐变量的数量为(M-n)/n个,M为所述第二系统平台支持的比特位。
在一些可能的实施例中,M=64、n=32。
在一些可能的实施例中,所述处理模块204具体用于在所述第一系统平台中,根据所述宏程序中的所述补齐变量对所述指针变量所指示的数据内容进行补位,以寻址所述指针变量的下一个变量,从而实现所述脚本文件对应的所述离线模型的生成操作和/或解析操作。
可选地,模型操作装置200还包括有存储模块206,其存储有用于实现模型操作装置200的相关操作的程序代码。在实际应用中,本发明实施例中的装置涉及的各模块或单元具体可通过软件程序或硬件实现。当由软件程序实现时,装置涉及的各模块或单元均为软件模块或软件单元,当由硬件实现时,装置涉及的各模块或单元可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合,本发明不做限定。
需要说明的,图2仅仅是本申请实施例的一种可能的实现方式,实际应用中,装置中还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述方法实施例中的相关阐述,这里不再赘述。
请参见图3,是本发明实施例提供的一种客户端的结构示意图。如图3所示的客户端300包括一个或多个处理器301、通信接口302和存储器303,处理器301、通信接口302和存储器303可通过总线方式连接,也可通过无线传输等其他手段实现通信。本发明实施例以通过总线304连接为例其中,该存储器303用于存储指令,该处理器301用于执行该存储器303存储的指令。该存储器303存储程序代码,且处理器301可以调用存储器303中存储的程序代码执行如下操作:
获取离线模型适用的脚本文件,所述脚本文件中指示有运行所述离线模型的第一系统平台,所述离线模型为预先在第二系统平台中设计好的;
根据所述脚本文件,在所述第一系统平台中完成所述离线模型的生成操作和/或解析操作。
关于本发明实施例中未示出或未描述的内容,具体可参见前述图1或图2所述实施例中的相关阐述,这里不再赘述。
应当理解,在本发明实施例中,所称处理器301可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
通信接口302可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块或装置设备进行通信。例如,本申请实施例中通信接口302具体可用于获取离线模型适用的脚本文件等。
存储器303可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器还可以包括上述种类的存储器的组合。存储器可用于存储一组程序代码,以便于处理器调用存储器中存储的程序代码以实现本发明实施例中涉及的上述各功能模块的功能。
需要说明的,图3仅仅是本发明实施例的一种可能的实现方式,实际应用中,客户端还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述方法实施例中的相关阐述,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,图1所示的方法流程得以实现。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,图1实施例中所示的方法流程得以实现。
所述计算机可读存储介质可以是前述任一实施例所述的客户端的内部存储单元,例如客户端的硬盘或内存。所述计算机可读存储介质也可以是所述客户端的外部存储设备,例如所述客户端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述客户端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述客户端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种模型操作方法,其特征在于,所述方法包括:
获取离线模型适用的脚本文件,所述脚本文件中指示有运行所述离线模型的第一系统平台,所述离线模型为预先在第二系统平台中设计好的;
根据所述脚本文件,在所述第一系统平台中完成所述离线模型的生成操作和/或解析操作。
2.根据权利要求1所述的方法,其特征在于,所述脚本文件指示有包括至少一个指针变量在内的宏程序,所述宏程序用于实现所述离线模型的生成操作和/或解析操作,
当所述第一系统平台支持的比特位和所述第二系统平台支持的比特位不同时,所述宏程序中还包括补齐变量,所述补齐变量用于对所述指针变量所指示的数据内容进行补位,以寻址所述指针变量的下一个变量。
3.根据权利要求2所述的方法,其特征在于,所述指针变量的大小未在所述宏程序中定义。
4.根据权利要求2所述的方法,其特征在于,所述补齐变量的大小为n bit,所述补齐变量的数量为(M-n)/n个,M为所述第二系统平台支持的比特位。
5.根据权利要求4所述的方法,其特征在于,M=64、n=32。
6.根据权利要求2所述的方法,其特征在于,所述根据所述脚本文件,在所述系统平台中完成所述离线模型的生成操作和/或解析操作,包括:
在所述第一系统平台中,根据所述宏程序中的所述补齐变量对所述指针变量所指示的数据内容进行补位,以寻址所述指针变量的下一个变量,从而实现所述脚本文件对应的所述离线模型的生成操作和/或解析操作。
7.一种模型处理装置,其特征在于,包括通信模块和处理模块,其中,
所述通信模块,用于获取离线模型适用的脚本文件,所述脚本文件中指示有运行所述离线模型的第一系统平台,所述离线模型为预先在第二系统平台中设计好的;
所述处理模块,用于根据所述脚本文件,在所述第一系统平台中完成所述离线模型的生成操作和/或解析操作。
8.根据权利要求1所述的装置,其特征在于,所述脚本文件指示有包括至少一个指针变量在内的宏程序,所述指针变量用于实现所述离线模型的生成操作和/或解析操作,
当所述第一系统平台支持的比特位和所述第二系统平台支持的比特位不同时,所述宏程序中还包括补齐变量,所述补齐变量用于对所述指针变量所指示的数据内容进行补位,以寻址所述指针变量的下一个变量。
9.根据权利要求8所述的装置,其特征在于,所述指针变量的大小未在所述宏程序中定义,所述第二系统平台支持的比特位大于所述第一系统平台支持的比特位。
10.根据权利要求9所述的装置,其特征在于,M=64、n=32。
11.根据权利要求8所述的装置,其特征在于,
所述处理模块,具体用于在所述第一系统平台中,根据所述宏程序中的所述补齐变量对所述指针变量所指示的数据内容进行补位,以寻址所述指针变量的下一个变量,从而实现所述脚本文件对应的所述离线模型的生成操作和/或解析操作。
12.一种客户端,其特征在于,包括处理器、存储器以及总线,所述处理器和所述存储器通过所述总线连接,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,用于执行如上权利要求1-6中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910246181.9A CN109976751B (zh) | 2019-03-28 | 2019-03-28 | 模型操作方法、相关装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910246181.9A CN109976751B (zh) | 2019-03-28 | 2019-03-28 | 模型操作方法、相关装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109976751A true CN109976751A (zh) | 2019-07-05 |
CN109976751B CN109976751B (zh) | 2022-12-27 |
Family
ID=67081451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910246181.9A Active CN109976751B (zh) | 2019-03-28 | 2019-03-28 | 模型操作方法、相关装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109976751B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795993A (zh) * | 2019-09-12 | 2020-02-14 | 深圳云天励飞技术有限公司 | 一种构建模型的方法、装置、终端设备及介质 |
CN112015425A (zh) * | 2020-08-17 | 2020-12-01 | 中移(杭州)信息技术有限公司 | 数据存储方法、读取方法、装置、电子设备及存储介质 |
CN112035379A (zh) * | 2020-09-09 | 2020-12-04 | 浙江大华技术股份有限公司 | 存储空间的使用方法、装置、存储介质以及电子装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5398328A (en) * | 1990-08-09 | 1995-03-14 | Silicon Graphics, Inc. | System for obtaining correct byte addresses by XOR-ING 2 LSB bits of byte address with binary 3 to facilitate compatibility between computer architecture having different memory orders |
EP1589440A2 (en) * | 2004-04-23 | 2005-10-26 | Microsoft Corporation | Semantic programming language and linguistic object model |
CN104750758A (zh) * | 2013-12-31 | 2015-07-01 | 深圳航天东方红海特卫星有限公司 | 一种微小卫星测试数据包的通用解析处理方法和系统 |
CN109062617A (zh) * | 2018-06-26 | 2018-12-21 | 百富计算机技术(深圳)有限公司 | 一种支持多类型设备的平台的应用方法、移动终端 |
CN109343857A (zh) * | 2018-08-22 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 线上部署机器学习模型的方法、设备和存储介质 |
CN109492241A (zh) * | 2018-08-10 | 2019-03-19 | 北京中科寒武纪科技有限公司 | 转换方法、装置、计算机设备和存储介质 |
-
2019
- 2019-03-28 CN CN201910246181.9A patent/CN109976751B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5398328A (en) * | 1990-08-09 | 1995-03-14 | Silicon Graphics, Inc. | System for obtaining correct byte addresses by XOR-ING 2 LSB bits of byte address with binary 3 to facilitate compatibility between computer architecture having different memory orders |
EP1589440A2 (en) * | 2004-04-23 | 2005-10-26 | Microsoft Corporation | Semantic programming language and linguistic object model |
CN104750758A (zh) * | 2013-12-31 | 2015-07-01 | 深圳航天东方红海特卫星有限公司 | 一种微小卫星测试数据包的通用解析处理方法和系统 |
CN109062617A (zh) * | 2018-06-26 | 2018-12-21 | 百富计算机技术(深圳)有限公司 | 一种支持多类型设备的平台的应用方法、移动终端 |
CN109492241A (zh) * | 2018-08-10 | 2019-03-19 | 北京中科寒武纪科技有限公司 | 转换方法、装置、计算机设备和存储介质 |
CN109343857A (zh) * | 2018-08-22 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 线上部署机器学习模型的方法、设备和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795993A (zh) * | 2019-09-12 | 2020-02-14 | 深圳云天励飞技术有限公司 | 一种构建模型的方法、装置、终端设备及介质 |
CN112015425A (zh) * | 2020-08-17 | 2020-12-01 | 中移(杭州)信息技术有限公司 | 数据存储方法、读取方法、装置、电子设备及存储介质 |
CN112035379A (zh) * | 2020-09-09 | 2020-12-04 | 浙江大华技术股份有限公司 | 存储空间的使用方法、装置、存储介质以及电子装置 |
CN112035379B (zh) * | 2020-09-09 | 2022-06-14 | 浙江大华技术股份有限公司 | 存储空间的使用方法、装置、存储介质以及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109976751B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6198939B2 (ja) | ドライバをロードする方法及び組み込みデバイス | |
CN109976751B (zh) | 模型操作方法、相关装置及计算机可读存储介质 | |
CN110113196B (zh) | 一种协议配置方法、装置、设备及介质 | |
CN108376073B (zh) | 一种测试软件包生成方法及终端 | |
CN108196878A (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
CN109814524B (zh) | 一种车辆诊断方法、装置及系统 | |
CN109933350B (zh) | 在应用中嵌入代码的方法、装置及电子设备 | |
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
CN106796521B (zh) | 独立于产品发布的api版本控制 | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN110989487B (zh) | 工业服务器的plc初始化方法、装置及可读存储介质 | |
CN106776105B (zh) | 一种系统启动文件的校验及编译方法 | |
CN112817935A (zh) | 基于字段类型的数据处理方法、装置、设备及存储介质 | |
CN114253619A (zh) | SSD多级Boot的方法、装置、计算机设备及存储介质 | |
CN111352641B (zh) | 借助批处理的自动打包方法、装置、计算机设备及存储介质 | |
CN109766123A (zh) | 应用程序封装方法及装置 | |
CN109669678A (zh) | 模板引擎整合方法、装置、电子设备及存储介质 | |
CN112083925A (zh) | 基于h5页面开发的数据获取方法、装置、设备及存储介质 | |
US10740218B2 (en) | Method and device for determining usage log | |
CN110442353A (zh) | 一种安装包管理的方法、装置及电子设备 | |
CN107451050B (zh) | 函数获取方法和装置、服务器 | |
CN114564336A (zh) | 数据一致性校验方法、装置、设备以及存储介质 | |
CN112445525B (zh) | 数据处理方法、相关设备及计算机可读介质 | |
CN114756229A (zh) | 基于微前端的开发页面生成方法及其相关装置 | |
CN112417012A (zh) | 数据处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences Applicant after: Zhongke Cambrian Technology Co.,Ltd. Address before: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences Applicant before: Beijing Zhongke Cambrian Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |