CN111459490B - 一种自动适配硬件平台的语音识别引擎移植方法及装置 - Google Patents
一种自动适配硬件平台的语音识别引擎移植方法及装置 Download PDFInfo
- Publication number
- CN111459490B CN111459490B CN202010163500.2A CN202010163500A CN111459490B CN 111459490 B CN111459490 B CN 111459490B CN 202010163500 A CN202010163500 A CN 202010163500A CN 111459490 B CN111459490 B CN 111459490B
- Authority
- CN
- China
- Prior art keywords
- hardware platform
- target
- preset
- analysis result
- recognition engine
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000010276 construction Methods 0.000 claims abstract description 35
- 238000011161 development Methods 0.000 claims abstract description 30
- 230000003044 adaptive effect Effects 0.000 claims abstract description 4
- 238000004458 analytical method Methods 0.000 claims description 74
- 238000004364 calculation method Methods 0.000 claims description 55
- 230000001133 acceleration Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 9
- 230000005012 migration Effects 0.000 claims description 4
- 238000013508 migration Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910052754 neon Inorganic materials 0.000 description 2
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/285—Memory allocation or algorithm optimisation to reduce hardware requirements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种自动适配硬件平台的语音识别引擎移植方法及装置,该方法包括:获取预设开发工具,以基于所述预设开发工具创建与预设硬件平台对应的镜像;基于所述预设开发工具创建自动构建系统;获取描述项目特性的配置文件;将所述配置文件上传至所述自动构建系统;在所述自动构建系统上,根据所述配置文件和所述镜像进行适配所述预设硬件平台的语音识别引擎库的构建。本发明的技术方案,通过在自动构建系统上根据镜像以及具有项目需求的配置文件进行语音识别引擎库的自动构建,不再需要开发人员进行开发,节省了人力成本。
Description
技术领域
本发明涉及语音识别技术领域,特别涉及一种自动适配硬件平台的语音识别引擎移植方法及装置。
背景技术
语音识别是一门交叉学科。近二十年来,语音识别技术取得显著进步,开始从实验室走向市场。人们预计,未来10年内,语音识别技术将进入工业、家电、通信、汽车电子、医疗、家庭服务、消费电子产品等各个领域。
目前,根据项目需求(硬件系统版本和类型,开发语言版本,硬件资源配置,功耗,性能指标,语音识别引擎安全策略等),开发人员开发满足该项目需求的代码版本,然后根据硬件系统的版本,资源配置和编译链信息编译代码,输出语音识别引擎库,在进行适配硬件平台的语音识别引擎移植时,不同的项目需求差异很大,这就给语音识别引擎的开发带来的很多问题,当对接的项目越来越多时,就需要更多的开发人员进行开发,耗费大量的人力成本。
发明内容
本发明提供一种自动适配硬件平台的语音识别引擎移植方法及装置。所述技术方案如下:
根据本发明实施例的第一方面,提供了一种自动适配硬件平台的语音识别引擎移植方法,包括:
获取预设开发工具,以基于所述预设开发工具创建与预设硬件平台对应的镜像;
基于所述预设开发工具创建自动构建系统;
获取描述项目特性的配置文件;
将所述配置文件上传至所述自动构建系统;
在所述自动构建系统上,根据所述配置文件和所述镜像进行适配所述预设硬件平台的语音识别引擎库的构建。
在一个实施例中,所述获取描述项目特性的配置文件,包括:
根据项目的硬件属性、资源配置、功耗要求及性能要求获取描述所述项目特性的所述配置文件,其中,所述配置文件包括所述预设硬件平台的配置信息和软件层面的配置信息。
在一个实施例中,所述在所述自动构建系统上,根据所述配置文件和所述镜像进行适配所述预设硬件平台的语音识别引擎库的构建,包括:
获取目标识别引擎代码;
解析所述配置文件,以得到解析结果;
根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标代码版本和目标编译流程;
根据所述目标代码版本和所述目标编译流程在所述镜像中对所述目标识别引擎代码进行编译,以得到所述语音识别引擎库。
在一个实施例中,所述目标代码版本包括:计算频率、参数、计算方式、安全检查源文件、系统库函数的版本、多线程计算相关信息、加速计算方式,所述根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标代码版本,包括:
根据所述解析结果中的所述预设硬件平台的功耗和主频,确定所述目标代码版本中的所述计算频率;
根据所述解析结果中的所述预设硬件平台的RAM及ROM的存储容量,确定所述目标代码版本中的所述参数;
根据所述解析结果中的所述预设硬件平台的特性,确定所述目标代码版本中的所述计算方式;
对所述解析结果中的安全策略要求进行分析,以生成所述目标代码版本中的所述安全检查源文件;
根据所述解析结果中的所述预设硬件平台的类型,确定所述目标代码版本中所述系统库函数的版本;
根据所述解析结果中的所述预设硬件平台的内核数,确定所述目标代码版本中的所述多线程计算相关信息;
根据所述解析结果中描述所述预设硬件平台的加速计算特性信息,确定所述目标代码版本中的所述加速计算方式。
在一个实施例中,所述根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标编译流程,包括:
获取所述解析结果中的与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏;
对与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏进行解析,以得到所述目标编译流程。
根据本发明实施例的第二方面,提供了一种自动适配硬件平台的语音识别引擎移植装置,包括:
第一获取模块,用于获取预设开发工具,以基于所述预设开发工具创建与预设硬件平台对应的镜像;
创建模块,用于基于所述预设开发工具创建自动构建系统;
第二获取模块,用于获取描述项目特性的配置文件;
上传模块,用于将所述配置文件上传至所述自动构建系统;
构建模块,用于在所述自动构建系统上,根据所述配置文件和所述镜像进行适配所述预设硬件平台的语音识别引擎库的构建。
在一个实施例中,所述第二获取模块,包括:
第一获取子模块,用于根据项目的硬件属性、资源配置、功耗要求及性能要求获取描述所述项目特性的所述配置文件,其中,所述配置文件包括所述预设硬件平台的配置信息和软件层面的配置信息。
在一个实施例中,所述构建模块,包括:
第二获取子模块,用于获取目标识别引擎代码;
解析子模块,用于解析所述配置文件,以得到解析结果;
计算子模块,用于根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标代码版本和目标编译流程;
编译子模块,用于根据所述目标代码版本和所述目标编译流程在所述镜像中对所述目标识别引擎代码进行编译,以得到所述语音识别引擎库。
在一个实施例中,所述目标代码版本包括:计算频率、参数、计算方式、安全检查源文件、系统库函数的版本、多线程计算相关信息、加速计算方式,所述计算子模块,包括:
第一确定单元,用于根据所述解析结果中的所述预设硬件平台的功耗和主频,确定所述目标代码版本中的所述计算频率;
第二确定单元,用于根据所述解析结果中的所述预设硬件平台的RAM及ROM的存储容量,确定所述目标代码版本中的所述参数;
第三确定单元,用于根据所述解析结果中的所述预设硬件平台的特性,确定所述目标代码版本中的所述计算方式;
分析单元,用于对所述解析结果中的安全策略要求进行分析,以生成所述目标代码版本中的所述安全检查源文件;
第四确定单元,用于根据所述解析结果中的所述预设硬件平台的类型,确定所述目标代码版本中所述系统库函数的版本;
第五确定单元,用于根据所述解析结果中的所述预设硬件平台的内核数,确定所述目标代码版本中的所述多线程计算相关信息;
第六确定单元,用于根据所述解析结果中描述所述预设硬件平台的加速计算特性信息,确定所述目标代码版本中的所述加速计算方式。
在一个实施例中,所述计算子模块,包括:
获取单元,用于获取所述解析结果中的与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏;
解析单元,用于对与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏进行解析,以得到所述目标编译流程。
本发明实施例提供的技术方案可以包括以下有益效果:
通过获取预设开发工具,以基于预设开发工具创建与预设硬件平台对应的镜像和自动构建系统,之后获取描述项目需求方需求项目特性的配置文件并上传至自动构建系统上,进而自动构建系统根据配置文件和镜像进行适配预设硬件平台的语音识别引擎库的构建,本发明的技术方案通过在自动构建系统上根据镜像以及具有项目需求的配置文件进行语音识别引擎库自动构建,不再需要开发人员进行开发,节省了人力成本。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种自动适配硬件平台的语音识别引擎移植方法的流程图;
图2为本发明实施例中另一种自动适配硬件平台的语音识别引擎移植方法的流程图;
图3为本发明实施例中一种自动适配硬件平台的语音识别引擎移植装置的框图;
图4为本发明实施例中另一种自动适配硬件平台的语音识别引擎移植装置的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例中一种自动适配硬件平台的语音识别引擎移植方法的流程图,如图1所示,该方法可被实施为如下步骤S11-S15:
在步骤S11中,获取预设开发工具,以基于预设开发工具创建与预设硬件平台对应的镜像;其中,预设开发工具可以是Jenkins,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能,镜像可以是Docker镜像,Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,创建镜像时包括将需要移植的语音识别引擎及相关信息移植到项目需要的环境(其中,包括有编译链,构建新的识别引擎时需要链接的动态库,语音识别引擎编译工具等)。
在步骤S12中,基于预设开发工具创建自动构建系统;其中,自动构建系统是用来从源代码生成用户可以使用的目标(targets)的自动化工具。目标可以包括库、可执行文件、或者生成的脚本等等。
在步骤S13中,获取描述项目特性的配置文件;
在步骤S14中,将配置文件上传至自动构建系统;
在步骤S15中,在自动构建系统上,根据配置文件和镜像进行适配预设硬件平台的语音识别引擎库的构建。
通过获取预设开发工具,以基于预设开发工具创建与预设硬件平台对应的镜像和自动构建系统,之后获取描述项目需求方需求项目特性的配置文件并上传至自动构建系统上,进而自动构建系统根据配置文件和镜像进行适配预设硬件平台的语音识别引擎库的构建,本发明的技术方案通过在自动构建系统上根据镜像以及具有项目需求的配置文件进行语音识别引擎库自动构建,不再需要开发人员进行开发,节省了人力成本。
在一个实施例中,所述获取描述项目特性的配置文件,包括:
根据项目的硬件属性、资源配置、功耗要求及性能要求获取描述所述项目特性的所述配置文件,其中,所述配置文件包括所述预设硬件平台的配置信息和软件层面的配置信息。硬件平台的配置信息包括但不限于:硬件属性、硬件平台编译链在镜像容器中的地址,硬件平台相关的编译选项、硬件的主频、ram、rom等,软件层面的配置信息包括但不限于:软件的宏定义(相当于控制语音识别引擎版本)、语音识别引擎安全策略、全局系统变量(可以控制编译流程)等。
根据项目的硬件属性、资源配置、功耗要求及性能要求获得的描述项目特性的配置文件更加可靠准确。
如图2所示,在一个实施例中,上述步骤S15可被实施为如下步骤S131-S134:
在步骤S131中,获取目标识别引擎代码;其中,目标识别引擎代码是从代码服务器上下载得到,目标识别引擎代码并不适配本发明中的预设硬件平台。
在步骤S132中,解析配置文件,以得到解析结果;
在步骤S133中,根据解析结果进行计算,以得到适合预设硬件平台的目标代码版本和目标编译流程;目标代码版本是指适合本发明中预设硬件平台的最优代码版本,目标编译流程是指适合本发明中预设硬件平台的最优编译流程。
在步骤S134中,根据目标代码版本和目标编译流程在镜像中对目标识别引擎代码进行编译,以得到语音识别引擎库。其中,对目标代码版本和目标编译流程进行编译的过程是在镜像的容器中执行完成的。
获取目标识别引擎代码,之后根据解析配置文件得到的解析结果进行计算,能够得到适合预设硬件平台的目标代码版本和目标编译流程,进而根据目标代码版本和目标编译流程在镜像中进行编译,得到适配预设硬件平台的语音识别引擎库;由此可见,得到语音识别引擎库的过程方便快捷,不需要开发人员参与,构建效率极快。
在一个实施例中,所述目标代码版本包括:计算频率、参数、计算方式、安全检查源文件、系统库函数的版本、多线程计算相关信息、加速计算方式,所述根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标代码版本,包括:
根据所述解析结果中的所述预设硬件平台的功耗和主频,确定所述目标代码版本中的所述计算频率;其中,语音识别引擎中有大量的计算模块,此处的计算频率可以是一个模块的计算频率也可以是多个模块的计算频率,例如进行深度神经网络前向计算的模块的计算频率,进行语音特征提取的模块的计算频率及进行维特比解码的模块的计算频率等。
根据所述解析结果中的所述预设硬件平台的RAM及ROM的存储容量,确定所述目标代码版本中的所述参数;其中,确定目标代码版本中的参数是指确定语音识别引擎中采用的声学模型的参数,当参数量越大时,需要的RAM及ROM的存储容量越大,反之越小。
根据所述解析结果中的所述预设硬件平台的特性,确定所述目标代码版本中的所述计算方式;根据预设硬件平台是擅长浮点计算还是定点计算的特性,确定语音识别引擎的计算方式,即硬件平台擅长浮点计算,则最后构建的语音识别引擎的计算方式也是浮点计算。
对所述解析结果中的安全策略要求进行分析,以生成所述目标代码版本中的所述安全检查源文件;比如,包括名限制和系统时间限制,绝对使用期限的安全检查源文件,当编译时,会将这些源文件编译的语音识别引擎库,之后当语音识别引擎工作时进行安全检查。
根据所述解析结果中的所述预设硬件平台的类型,确定所述目标代码版本中所述系统库函数的版本;
根据所述解析结果中的所述预设硬件平台的内核数,确定所述目标代码版本中的所述多线程计算相关信息;多线程计算相关信息是指进行计算的一个或多个模块是否进行多线程计算以及启用的线程数。
根据所述解析结果中描述所述预设硬件平台的加速计算特性信息,确定所述目标代码版本中的所述加速计算方式。根据硬件平台是否支持NEON或者SSE的加速计算特性,确定进行计算的一个或多个模块选择NEON加速方式还是SSE加速方式,如过不进行加速计算,就选择PLAIN的方式。
通过对配置文件进行解析得到的解析结果进行分析得到的目标代码版本,为语音识别引擎库的构建提供一个最佳的依据。
在一个实施例中,所述根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标编译流程,包括:
获取所述解析结果中的与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏;其中,在语音识别引擎库的构建过程中可能需要从别的库中获取资源,这些库就是需要链接的库。
对与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏进行解析,以得到所述目标编译流程。目标编译流程在语音识别引擎移植使用时,可将其嵌入到默认的编译流程框架中。
通过对与预设硬件平台相关的编译选项、构建语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏进行解析得到目标编译流程与预设硬件平台的匹配度最高。
对本发明实施例提供的上述一种自动适配硬件平台的语音识别引擎移植方法,本发明实施例还提供了一种自动适配硬件平台的语音识别引擎移植装置,如图3所示,该装置包括:
第一获取模块31,用于获取预设开发工具,以基于所述预设开发工具创建与预设硬件平台对应的镜像;
创建模块32,用于基于所述预设开发工具创建自动构建系统;
第二获取模块33,用于获取描述项目特性的配置文件;
上传模块34,用于将所述配置文件上传至所述自动构建系统;
构建模块35,用于在所述自动构建系统上,根据所述配置文件和所述镜像进行适配所述预设硬件平台的语音识别引擎库的构建。
在一个实施例中,所述第二获取模块,包括:
第一获取子模块,用于根据项目的硬件属性、资源配置、功耗要求及性能要求获取描述所述项目特性的所述配置文件,其中,所述配置文件包括所述预设硬件平台的配置信息和软件层面的配置信息。
如图4所示,在一个实施例中,所述构建模块35,包括:
第二获取子模块351,用于获取目标识别引擎代码;
解析子模块351,用于解析所述配置文件,以得到解析结果;
计算子模块353,用于根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标代码版本和目标编译流程;
编译子模块354,用于根据所述目标代码版本和所述目标编译流程在所述镜像中对所述目标识别引擎代码进行编译,以得到所述语音识别引擎库。
在一个实施例中,所述目标代码版本包括:计算频率、参数、计算方式、安全检查源文件、系统库函数的版本、多线程计算相关信息、加速计算方式,所述计算子模块,包括:
第一确定单元,用于根据所述解析结果中的所述预设硬件平台的功耗和主频,确定所述目标代码版本中的所述计算频率;
第二确定单元,用于根据所述解析结果中的所述预设硬件平台的RAM及ROM的存储容量,确定所述目标代码版本中的所述参数;
第三确定单元,用于根据所述解析结果中的所述预设硬件平台的特性,确定所述目标代码版本中的所述计算方式;
分析单元,用于对所述解析结果中的安全策略要求进行分析,以生成所述目标代码版本中的所述安全检查源文件;
第四确定单元,用于根据所述解析结果中的所述预设硬件平台的类型,确定所述目标代码版本中所述系统库函数的版本;
第五确定单元,用于根据所述解析结果中的所述预设硬件平台的内核数,确定所述目标代码版本中的所述多线程计算相关信息;
第六确定单元,用于根据所述解析结果中描述所述预设硬件平台的加速计算特性信息,确定所述目标代码版本中的所述加速计算方式。
在一个实施例中,所述计算子模块,包括:
获取单元,用于获取所述解析结果中的与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏;
解析单元,用于对与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏进行解析,以得到所述目标编译流程。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种自动适配硬件平台的语音识别引擎移植方法,其特征在于,包括:
获取预设开发工具,以基于所述预设开发工具创建与预设硬件平台对应的镜像;
基于所述预设开发工具创建自动构建系统;
获取描述项目特性的配置文件;
将所述配置文件上传至所述自动构建系统;
在所述自动构建系统上,根据所述配置文件和所述镜像进行适配所述预设硬件平台的语音识别引擎库的构建;
其中,所述在所述自动构建系统上,根据所述配置文件和所述镜像进行适配所述预设硬件平台的语音识别引擎库的构建,包括:
获取目标识别引擎代码;
解析所述配置文件,以得到解析结果;
根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标代码版本和目标编译流程;
根据所述目标代码版本和所述目标编译流程在所述镜像中对所述目标识别引擎代码进行编译,以得到所述语音识别引擎库。
2.如权利要求1所述的方法,其特征在于,所述获取描述项目特性的配置文件,包括:
根据项目的硬件属性、资源配置、功耗要求及性能要求获取描述所述项目特性的所述配置文件,其中,所述配置文件包括所述预设硬件平台的配置信息和软件层面的配置信息。
3.如权利要求1所述的方法,其特征在于,所述目标代码版本包括:计算频率、参数、计算方式、安全检查源文件、系统库函数的版本、多线程计算相关信息、加速计算方式,所述根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标代码版本,包括:
根据所述解析结果中的所述预设硬件平台的功耗和主频,确定所述目标代码版本中的所述计算频率;
根据所述解析结果中的所述预设硬件平台的RAM及ROM的存储容量,确定所述目标代码版本中的所述参数;
根据所述解析结果中的所述预设硬件平台的特性,确定所述目标代码版本中的所述计算方式;
对所述解析结果中的安全策略要求进行分析,以生成所述目标代码版本中的所述安全检查源文件;
根据所述解析结果中的所述预设硬件平台的类型,确定所述目标代码版本中所述系统库函数的版本;
根据所述解析结果中的所述预设硬件平台的内核数,确定所述目标代码版本中的所述多线程计算相关信息;
根据所述解析结果中描述所述预设硬件平台的加速计算特性信息,确定所述目标代码版本中的所述加速计算方式。
4.如权利要求1所述的方法,其特征在于,所述根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标编译流程,包括:
获取所述解析结果中的与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏;
对与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏进行解析,以得到所述目标编译流程。
5.一种自动适配硬件平台的语音识别引擎移植装置,其特征在于,包括:
第一获取模块,用于获取预设开发工具,以基于所述预设开发工具创建与预设硬件平台对应的镜像;
创建模块,用于基于所述预设开发工具创建自动构建系统;
第二获取模块,用于获取描述项目特性的配置文件;
上传模块,用于将所述配置文件上传至所述自动构建系统;
构建模块,用于在所述自动构建系统上,根据所述配置文件和所述镜像进行适配所述预设硬件平台的语音识别引擎库的构建;
其中,所述构建模块,包括:
第二获取子模块,用于获取目标识别引擎代码;
解析子模块,用于解析所述配置文件,以得到解析结果;
计算子模块,用于根据所述解析结果进行计算,以得到适合所述预设硬件平台的目标代码版本和目标编译流程;
编译子模块,用于根据所述目标代码版本和所述目标编译流程在所述镜像中对所述目标识别引擎代码进行编译,以得到所述语音识别引擎库。
6.如权利要求5所述的装置,其特征在于,所述第二获取模块,包括:
第一获取子模块,用于根据项目的硬件属性、资源配置、功耗要求及性能要求获取描述所述项目特性的所述配置文件,其中,所述配置文件包括所述预设硬件平台的配置信息和软件层面的配置信息。
7.如权利要求5所述的装置,其特征在于,所述目标代码版本包括:计算频率、参数、计算方式、安全检查源文件、系统库函数的版本、多线程计算相关信息、加速计算方式,所述计算子模块,包括:
第一确定单元,用于根据所述解析结果中的所述预设硬件平台的功耗和主频,确定所述目标代码版本中的所述计算频率;
第二确定单元,用于根据所述解析结果中的所述预设硬件平台的RAM及ROM的存储容量,确定所述目标代码版本中的所述参数;
第三确定单元,用于根据所述解析结果中的所述预设硬件平台的特性,确定所述目标代码版本中的所述计算方式;
分析单元,用于对所述解析结果中的安全策略要求进行分析,以生成所述目标代码版本中的所述安全检查源文件;
第四确定单元,用于根据所述解析结果中的所述预设硬件平台的类型,确定所述目标代码版本中所述系统库函数的版本;
第五确定单元,用于根据所述解析结果中的所述预设硬件平台的内核数,确定所述目标代码版本中的所述多线程计算相关信息;
第六确定单元,用于根据所述解析结果中描述所述预设硬件平台的加速计算特性信息,确定所述目标代码版本中的所述加速计算方式。
8.如权利要求5所述的装置,其特征在于,所述计算子模块,包括:
获取单元,用于获取所述解析结果中的与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏;
解析单元,用于对与所述预设硬件平台相关的编译选项、构建所述语音识别引擎库需要链接的库及目标编译链编译源码时需要定义的宏进行解析,以得到所述目标编译流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010163500.2A CN111459490B (zh) | 2020-03-11 | 2020-03-11 | 一种自动适配硬件平台的语音识别引擎移植方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010163500.2A CN111459490B (zh) | 2020-03-11 | 2020-03-11 | 一种自动适配硬件平台的语音识别引擎移植方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111459490A CN111459490A (zh) | 2020-07-28 |
CN111459490B true CN111459490B (zh) | 2023-05-05 |
Family
ID=71682765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010163500.2A Active CN111459490B (zh) | 2020-03-11 | 2020-03-11 | 一种自动适配硬件平台的语音识别引擎移植方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111459490B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541066B (zh) * | 2023-06-14 | 2023-10-13 | 飞腾信息技术有限公司 | 软件系统构建方法、装置、设备及计算机可读存储介质 |
CN116541065A (zh) * | 2023-06-14 | 2023-08-04 | 飞腾信息技术有限公司 | 软件系统构建方法、装置、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227579A (zh) * | 2016-07-12 | 2016-12-14 | 深圳市中润四方信息技术有限公司 | 一种Docker容器构建方法及Docker管理控制台 |
CN106598681A (zh) * | 2016-12-21 | 2017-04-26 | 北京恒华伟业科技股份有限公司 | 开发环境构建方法及装置 |
WO2017161338A1 (en) * | 2016-03-18 | 2017-09-21 | TUPL, Inc. | Continuous and automatic distributed application development and deployment |
-
2020
- 2020-03-11 CN CN202010163500.2A patent/CN111459490B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017161338A1 (en) * | 2016-03-18 | 2017-09-21 | TUPL, Inc. | Continuous and automatic distributed application development and deployment |
CN106227579A (zh) * | 2016-07-12 | 2016-12-14 | 深圳市中润四方信息技术有限公司 | 一种Docker容器构建方法及Docker管理控制台 |
CN106598681A (zh) * | 2016-12-21 | 2017-04-26 | 北京恒华伟业科技股份有限公司 | 开发环境构建方法及装置 |
Non-Patent Citations (1)
Title |
---|
张晶 ; 李心广 ; 王金矿 ; .基于WINCE的语音识别系统.电脑知识与技术.2008,(第04期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111459490A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377290B (zh) | 一种目标工程编译的方法、装置及设备 | |
CN107168749B (zh) | 一种编译方法、装置、设备和计算机可读存储介质 | |
CN111459490B (zh) | 一种自动适配硬件平台的语音识别引擎移植方法及装置 | |
CN110515620B (zh) | 一种自动化资源处理方法及系统 | |
CN115470101A (zh) | 数据测试方法、装置、计算机设备和存储介质 | |
CN112527676A (zh) | 模型自动化测试方法、装置及存储介质 | |
EP3842940A1 (en) | Method and system for uniformly performing feature extraction | |
CN109492749B (zh) | 在局域网中实现神经网络模型线上服务的方法及装置 | |
CN111562942B (zh) | 基于Gitlab的移动APP持续集成装置和方法 | |
CN102541592A (zh) | 一种通信设备及其软件升级的方法 | |
Fursin | The collective knowledge project: Making ML models more portable and reproducible with open APIs, reusable best practices and MLOps | |
KR102533019B1 (ko) | Ai 연산 프로세서 가속 성능 평가 인터페이스 시스템 및 그 방법 | |
CN115964045A (zh) | 一种跨架构的操作系统快速自动化构建的方法、装置及介质 | |
CN115098082A (zh) | 基于Jenkins插件的流水线脚本生成方法、系统、设备及介质 | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN112753016A (zh) | 神经网络中数据预处理阶段的计算资源的管理方法和装置 | |
US11573777B2 (en) | Method and apparatus for enabling autonomous acceleration of dataflow AI applications | |
CN115473822A (zh) | 一种5g智能网关数据传输方法、系统及云平台 | |
US10958514B2 (en) | Generating application-server provisioning configurations | |
CN114691111A (zh) | 基于可视化的代码识别模型训练方法及装置 | |
CN111626401A (zh) | 运算方法及装置 | |
WO2022246705A1 (zh) | 一种深度学习模型测试的方法、设备及计算机存储介质 | |
CN112632113B (zh) | 一种算子管理方法和算子管理系统 | |
CN115562719B (zh) | 一种接口感知的编译配置项补全方法、系统和介质 | |
CN111124782A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |