CN113570030A - 数据处理方法、装置、设备以及存储介质 - Google Patents
数据处理方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN113570030A CN113570030A CN202110062359.1A CN202110062359A CN113570030A CN 113570030 A CN113570030 A CN 113570030A CN 202110062359 A CN202110062359 A CN 202110062359A CN 113570030 A CN113570030 A CN 113570030A
- Authority
- CN
- China
- Prior art keywords
- model
- network
- configuration information
- layer
- initial
- 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
- 238000003672 processing method Methods 0.000 title abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000004927 fusion Effects 0.000 claims description 38
- 238000012549 training Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004913 activation Effects 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 10
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 239000010410 layer Substances 0.000 description 412
- 239000011159 matrix material Substances 0.000 description 39
- 238000013145 classification model Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000000926 separation method Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 8
- 238000011176 pooling Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000011229 interlayer Substances 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 1
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、设备以及存储介质,可适用于计算机、云技术、区块链、人工智能等领域。该方法包括:获取第一模型格式的初始网络模型的模型配置信息,其中,模型配置信息包括模型参数配置信息和模型结构配置信息;根据模型参数配置信息获取初始网络模型的模型参数;根据模型参数和模型结构配置信息,构建对应于第二模型格式的目标网络模型;获取初始网络模型对应的待处理数据,基于目标网络模型对待处理数据进行处理。采用本申请实施例,可提升数据处理效率,适用性高。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种数据处理方法、装置、设备以及存储介质。
背景技术
在现有的人工智能、计算机技术等领域中,往往需要借助网络模型对待处理数据进行处理以得到精确且契合实际应用需求的数据处理结果。例如,基于文本分类模型对待处理文本数据进行分类,基于语音分离模型对语音数据进行语音分离以得到所需要语音,以及基于语音识别模型对待识别语音进行识别得到语音识别结果,以进一步基于语音识别结果进行人机对话、及其控制等操作。
但是对于现有的网络模型,均需要通过复杂的网络模型结构来对待处理数据进行多项处理才能得到最终的数据处理结果,因此复杂的网络模型结构进一步会导致数据处理效率的降低。另一方面,现有的网络模型的模型格式往往是基于训练时的训练框架所决定的,而实际的网络模型的应用中会对网络模型的模型格式有具体的要求,因此在实际应用中往往会需要将网络模型的模型格式进行转换,随之而来的则是由于模型格式的转换链较长以及兼容性问题所导致的数据处理效率降低的问题。
因此,如何提升基于网络模型的数据处理效率成为亟需解决的问题。
发明内容
本申请实施例提供一种数据处理方法、装置、设备以及存储介质,可提升数据处理效率,适用性高。
本申请实施例提供一种数据处理方法,该方法包括:
获取第一模型格式的初始网络模型的模型配置信息,其中,上述模型配置信息包括模型参数配置信息和模型结构配置信息;
根据上述模型参数配置信息获取上述初始网络模型的模型参数;
根据上述模型参数和上述模型结构配置信息,构建对应于第二模型格式的目标网络模型;
获取所述初始网络模型对应的待处理数据,基于所述目标网络模型对所述待处理数据进行处理。
本申请实施例提供了一种数据处理装置,该数据处理装置包括:
模型配置信息获取模块,用于获取第一模型格式的初始网络模型的模型配置信息,其中,上述模型配置信息包括模型参数配置信息和模型结构配置信息;
模型参数获取模块,用于根据上述模型参数配置信息获取上述初始网络模型的模型参数;
网络模型处理模块,用于根据上述模型参数和上述模型结构配置信息,构建对应于第二模型格式的目标网络模型;
数据处理模块,用于获取所述初始网络模型对应的待处理数据,基于所述目标网络模型对所述待处理数据进行处理。
本申请实施例提供了一种电子设备,包括处理器和存储器,该处理器和存储器相互连接;
上述存储器用于存储计算机程序;
上述处理器被配置用于在调用上述计算机程序时,执行本申请实施例所提供的方法。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现本申请实施例所提供的方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例所提供的方法。
在本申请实施例中,通过直接获取第一模型格式的初始网络模型的模型配置信息,可得到初始网络模型的模型参数和模型结构配置信息,进而基于模型参数和模型结构配置信息可直接构建对应于第二模型格式的目标网络模型。基于上述方式所构建的目标网络模型不仅具备与初始网络模型相同的数据处理能力,并且由于节省了模型格式的转换时间,从而可进一步提升对初始网络模型的待处理数据的数据处理效率,适用性高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据处理方法的场景示意图;
图2是本申请实施例提供的数据处理方法的流程示意图;
图3a是本申请实施例提供的初始网络模型的运行流程示意图;
图3b是本申请实施例提供的算子融合后的初始网络模型的运行流程示意图;
图4是本申请实施例提供的构建目标网络模型的流程示意图;
图5a是本申请实施例提供的初始目标网络模型的结构示意图;
图5b是本申请实施例提供的目标网络模型的一结构示意图;
图5c是本申请实施例提供的目标网络模型的另一结构示意图;
图6是本申请实施例提供的数据处理方法的原理示意图;
图7a是本申请实施例提供的初始文本分类模型的结构示意图;
图7b是本申请实施例提供的目标文本分类模型的结构示意图;
图8是本申请实施例提供的数据处理装置的结构示意图;
图9是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的数据处理方法涉及大数据(Big data)、区块链、计算机、人工智能以及云技术(Cloud technology)等领域。其中,本申请实施例提供的数据处理方法可以由任一终端设备或者服务器执行。本申请实施例提供的数据处理方法由服务器执行时,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。本申请实施例提供的数据处理方法由终端设备执行时,该终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
参见图1,图1是本申请实施例提供的数据处理方法的场景示意图。在图1中,第一模型格式的初始网络模型100为待优化网络模型,第一模型格式的初始网络模型的模型配置信息110包括模型参数配置信息111和模型结构配置信息112。进一步根据模型参数配置信息111,可获取第一模型格式的初始网络模型100的模型参数120,基于模型参数120和模型结构配置信息112可构建对应于第二模型格式的目标网络模型200,以完成对第一模型格式的初始网络模型100的格式转换。
其中,本申请实施例中的初始网络模型100可以为AIlab语音分离服务,广告语音识别服务,短视频字幕加标点服务,短视频搜索服务等所涉及的网络模型,也可以为图像分类、人机对话等服务中所涉及的网络模型,具体可基于实际应用场景需求确定,在此不做限制。
进一步的,在将第一模型格式的初始网络模型100优化为第二模型格式的目标网络模型200之后,可基于目标网络模型200对初始网络模型100对应的待处理数据300进行处理,得到处理结果400。基于此,可基于目标网络模型200对初始网络模型100原先所需要处理的待处理数据300进行处理,进而可减少模型格式转换的时间以提升数据处理效率。
参见图2,图2是本申请实施例提供的数据处理方法的流程示意图。如图2所示,本申请实施例提供的数据处理方法可包括如下步骤:
步骤S21、获取第一模型格式的初始网络模型的模型配置信息,其中,模型配置信息包括模型参数配置信息和模型结构配置信息。
在一些可行的实施方式中,第一模型格式的初始网络模型为待进行格式转换的网络模型,具体可基于用户实际需求以及实际应用场景需求确定,在此不做限制。
可选的,第一模型格式的初始网络模型的模型配置信息包括模型参数配置信息和模型结构配置信息。其中,模型参数配置信息和模型结构配置信息用于将第一模型格式的初始网络模型转换为对应于第二模型格式的目标网络模型。
其中,上述初始网络模型的模型格式为基于不同模型训练框架得到的不同模型格式,如第一模型格式可以为开放神经网络交换(Open Neural Network Exchange,ONNX)格式格式,caffe格式、tensorflow格式、pytorch格式以及kaldi格式等,第二模型格式为将第一模型格式进行转换后得到的最终模型格式,具体可以为对应于NVIDIA TensorRT模型解析器的TensorRT格式等,第一模型格式和第二模型格式具体可基于实际应用场景需求确定,在此不做限制。例如,通过本申请实施例提供的数据处理方法,可将kaldi格式的初始网络模型转换为TensorRT格式的目标网络模型。
其中,第一模型格式的初始网络模型的模型配置信息可预先存储于数据库(Database)或者数据库管理***(Database Management System,DBMS)中,或者预先存储于区块链的区块或者云存储(cloud storage)空间中,也可基于大数据、云存储技术等,通过集群应用、网格技术以及分布存储文件***等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同存储各第一模型格式的初始网络模型的模型配置信息。需要特别说明的是,本申请实施例中各第一模型格式的初始网络模型的模型配置信息的具体存储方式可基于实际应用场景需求确定,在此不做限制。
其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。在本申请实施例中,区块链可用于存储各第一模型格式的初始网络模型的模型配置信息。
基于此,在获取第一模型格式的初始网络模型的模型配置信息时,可通过该初始网络模型的模型标识,从相对应的存储位置中获取第一模型格式的初始网络模型的模型配置信息。其中,该初始网络模型的模型标识为用于对该初始网络模型进行唯一标识的相关信息,在此不做限制。
可选的,上述模型结构配置信息包括初始网络模型的各网络层(为方便描述,以下称为第一网络层)的网络配置信息,初始网络模型的各第一网络层的网络配置信息可用于构建初始网络模型的各第一网络层。
可选的,对于每一第一网络层,该第一网络层的网络配置信息可包括以下至少一项:
第一网络层的输入特征的特征信息;
第一网络层的输出特征的特征信息;
用于描述第一网络层的网络功能的相关信息。
其中,上述输入特征和输出特征的特征信息可包括数据类型、数据精度以及特征维度中的至少一项,具体可基于实际应用场景需求确定,在此不做限制。
其中,上述第一网络层的输入特征为输入该第一网络层的数据,如输入该第一网络层的一个矩阵,上述第一网络层的输出特征为该第一网络层所输出的数据,如该第一网络层所输出的一个矩阵。即上述特征信息为用于描述输入该第一网络层的数据或者该第一网络层输出的数据的数据类型、数据精度以及特征维度等的相关信息。上述特征维度用于描述输入该第一网络层的数据或者该第一网络层输出的数据的数据维度,如输入或者输入矩阵的大小。
作为一可选方案,各第一网络的输入特征的特征信息为用于配置输入各第一网络层的输入特征的数据类型、数据精度以及特征维度的相关配置信息。
作为一可选方案,各第一网络的输出特征的特征信息为用于配置各第一网络输出的输出特征的数据类型、数据精度以及特征维度的相关配置信息。
其中,上述数据类型也可用于说明输入特征或者输入特征所属的对象类型,如输入特征属于blob对象。
作为一可选方案,上述第一信息为用于配置各第一网络层的网络功能的参数信息,如用于配置执行矩阵相加操作的参数信息,用于配置池化层、卷积层的参数信息等,具体可基于实际应用场景需求和实际的第一网络层的数据操作确定,在此不做限制。
作为一示例,以下所示了两个第一网络层的网络配置信息:
由上述可知,初始网络模型包括两个第一网络层,第一层为用于进行矩阵点乘的网络层,第二层为用于进行矩阵相加的网络层。
对于第一层网络,name:″ele_pr0d″以及type:″Elementwise″用于配置该第一网络层的数据操作为对应元素相乘;input_dim:n用于配置该第一网络层的输入特征的特征维度为n;inputs:″input_blob″用于配置该第一网络层的输入特征为blob对象;output_dim:n用于配置该第一网络层的输出特征的特征维度为n;outputs:″ele_prod_blob″用于配置该第一网络层的输出特征为对应元素相乘后的blob对象。
对于第二层网络,name:″ele_sum″以及type:″Elementwise″用于配置该第一网络层的数据操作为对应元素相加;input_dim:n用于配置该第一网络层的输入特征的特征维度为n;inputs:″input_blob″用于配置该第一网络层的输入特征为blob对象;inputs:″ele_prod_blob″用于配置该第一网络层的输入特征为上一网络层的输出特征;output_dim:n用于配置该第一网络层的输出特征的特征维度为n;outputs:″out_blob″用于配置该第一网络层的输出特征为blob对象。
可选的,上述模型结构配置信息还可以包括以下至少一项:
模型的输入特征的特征信息;
模型的输出特征的特征信息;
模型的输入特征的特征类型的指示信息;
模型的最大训练样本数;
模型对应的运行缓存;
运行模型的处理器的标识信息。
其中,上述输入特征和输出特征的特征信息可包括数据类型、数据精度以及特征维度中的至少一项,具体可基于实际应用场景需求确定,在此不做限制。
其中,上述模型的输入特征为输入初始网络模型的数据,如输入初始网络模型的一个矩阵,上述模型的输出特征为初始网络模型所输出的数据,如初始网络模型所输出的一个矩阵。即上述特征信息为用于描述输入初始网络模型的数据或者初始网络模型输出的数据的数据类型、数据精度以及特征维度等的相关信息。上述特征维度用于描述输入初始网络模型的数据或者初始网络模型输出的数据的数据维度,如输入或者输入的矩阵的大小。
其中,上述数据类型也可用于说明输入特征或者输入特征所属的对象类型。
其中,模型的输入特征的特征类型的指示信息,为用于指示初始网络模型的输入特征是否为动态输入的相关信息,可确定输入初始网络模型的输入特征是否为动态输入的。
其中模型的最大训练样本数模型为初始网络模型的输入层每一次训练所输入的最大样本数,可用于说明初始网络模型在每次训练时可输入的最大样本数。
其中,模型对应的运行缓存用于说明运行初始网络模型时所需要的运行缓存(如最大缓存空间),如计算机设备在需要运行初始网络模型时,需具备一定的缓存空间以正常运行初始网络模型。
其中,运行模型的处理器的标识信息为用于标识具体运行初始网络模型的处理器的相关信息,如可以为运行初始网络模型的图形处理器(Graphics Processing Unit,GPU)的标识,也可以为GPU在运行初始网络模型时所启动的各统一计算设备架构(ComputeUnified Device Architecture,CUDA)的标识,也可为其他运算平台对应的标识等,具体可基于实际应用场景需求确定,在此不做限制。
可选的,上述模型结构配置信息还可包括初始网络模型的模型标识,包括但不限于模型名称以及用于对初始网络标识进行唯一标识的相关信息等,在此不做限制。
作为一示例,以下所示了一初始网络模型的部分模型结构配置信息:
其中,model_name:″model_test″用于说明初始网络模型的模型名称为″model_test″;max_batch_size:10用于配置初始网络模型的输入层每一次训练所输入的最大样本数为10;max_workspace_size:5#GB用于配置初始网络模型的最大运行缓存为5GB;is_input_dynamic:true用于配置初始网络模型的输入层的输入特征为动态输入;precision:PM_FP32用于配置初始网络模型的数据精度为PM_FP32;net_config的相关配置信息用于配置初始网络模型中各第一网络层的输入特征的特征维度;input的相关配置信息用于配置输入初始网络模型的输入特征为blob对象,且其特征维度为[m,n];output的相关配置信息用于配置初始网络模型输出的输出特征为blob对象,且其特征维度为[m,n]。
在一些可行的实施方式中,在将第一模型格式的初始网络模型的模型配置信息进行存储之前,可按照预设方式确定初始网络模型的模型配置信息。如基于预设规则编写初始网络模型的模型配置信息,或者采用预设的序列化方式(如protobuf序列化工具)对初始网络模型的原始模型配置信息进行序列化后得到相对应的模型配置信息。基于此,通过将多个第一模型格式的初始网络模型的模型配置信息进行存储,从而在获取任一第一模型格式的初始网络模型的模型配置信息时,可基于相同的获取方式或者基于相同的读取方式读取相对应的模型配置信息,提升模型配置信息的获取效率。
在每一初始网络模型需要进行维护,如更改某一网络层的相关设置时,可直接对该初始网络模型的模型配置信息进行对应修改,从而在将对应于第一模型格式的初始网络模型转换为对应于第二模型格式的目标网络模型时,只需要直接获取修改后的模型配置信息即可,以避免重新确定该初始网络模型的模型配置信息,减少模型维护成本。
步骤S22、根据模型参数配置信息获取初始网络模型的模型参数。
在一些可行的实施方式中,初始网络模型的模型参数包括初始网络模型的各第一网络层对应的权重信息,如卷积层或者编码层对应的权重矩阵。
可选的,初始网络模型的模型参数配置信息可以为模型参数对应的存储路径。也就是说,在获取第一模型格式的初始网络模型的模型配置信息之后,可根据模型配置信息中的模型参数配置信息确定初始网络模型的模型参数的存储路径,进而根据存储路径获取相对应的模型参数。
可选的,该模型参数配置信息还可包括初始网络模型的模型参数相关联的其他信息,如文件名等,从而可从初始网络模型的模型参数配置信息中确定初始网络模型的模型参数对应的文件名,以根据该文件名获取初始网络模型的模型参数。
可选的,初始网络模型的模型配置信息所包括的模型参数配置信息也可直接包括初始网络模型的模型参数,进而可从初始网络模型的模型参数配置信息中获取初始网络模型的模型参数。
需要特别说明的是,上述获取初始网络模型的模型参数的具体方式仅为示例,具体可基于实际应用场景需求确定,在此不做限制。
在一些可行的实施方式中,初始网络模型的模型参数可通过提取初始网络模型的原始权值文件获取,或者基于初始网络模型的原始模型配置信息确定,并将初始网络模型的模型参数进行存储。
同样的,初始网络模型的模型参数可同样预先存储于数据库或者数据库管理***中,或者预先存储于区块链的区块或者云存储空间中,也可基于大数据、云存储技术等,通过集群应用、网格技术以及分布存储文件***等功能,将网络中大量各种不同类型的存储设备通过应用软件或应用接口集合起来协同工作,共同存储各初始网络模型的模型参数。需要特别说明的是,本申请实施例中各初始网络模型的模型参数的具体存储方式可基于实际应用场景需求确定,在此不做限制。
在一些可行的实施方式中,初始网络模型的模型参数为对应于第一信息格式的模型参数。话句话说,各初始网络模型的模型参数的信息格式相同,进而在获取各初始网络模型的模型参数时,可基于同一获取方式或者基于相同的读取方式读取各初始网络模型的模型参数,提升初始网络模型的模型参数的获取效率。
其中,上述第一信息格式的模型参数可以理解为按照基于预设信息格式生成的模型参数,或者采用预设的序列化方式对初始网络模型的权值信息进行序列化后得到相对应的模型参数。例如,可按照[size,type,data]的格式顺序堆叠各第一网络层的权重信息,以得到初始网络模型的模型参数。其中,data表示用于描述各第一网络层的权重信息的相关数据(以下称为权重数据),type表示相对应的权重数据的数据类型,size表示相对应的权重数据的数据量,如50kb。
作为一示例,初始网络模型的模型配置信息为基于protobuf工具进行序列化后得到的,因此在获取到初始网络模型的模型配置信息后,可调用protobuf的接口,并基于模型配置信息所包括的模型参数配置信息读取初始网络模型的模型参数。
在一些可行的实施方式中,在将初始网络模型的模型参数进行存储之后,可获取模型参数的存储路径,并基于模型参数的存储路径确定初始网络模型最终对应的模型参数配置信息。进一步可根据模型参数配置信息和模型结构配置信息确定最终的模型配置信息,并将模型配置信息进行存储。
在一些可行的实施方式中,为简化初始网络模型的数据处理效率以进一步提升将第一模型格式的初始网络模型的模型格式转换效率,可先对初始网络模型的至少两个第一网络层对应的数据操作进行算子融合,并基于算子融合后的模型结构配置信息更新初始网络模型原先的模型结构配置信息。进而在将对应于第一模型格式的初始网络模型转换为第二模型格式的目标网络模型时,基于算子融合后的模型结构配置新和模型参数,构建对应于第二模型格式的目标网络模型。
可选的,也可在将对应于第一模型格式的初始网络模型转换为第二模型格式的目标网络模型后的任一时间,对该初始网络模型的至少两个第一网络层对应的数据操作进行算子融合,并基于算子融合后的模型结构配置信息更新初始网络模型原先的模型结构配置信息,以在下一次进行模型格式转换时获取更新后的模型结构配置信息。
可选的,在根据模型参数配置信息获取初始网络模型的模型参数之后,可对该初始网络模型的至少两个第一网络层对应的数据操作进行算子融合,得到算子融合后的模型结构配置信息。从而基于算子融合后的模型结构配置新和模型参数,构建对应于第二模型格式的目标网络模型。
其中,进行算子融合的各第一网络层的数据操作之间具有关联关系,如第一层网络为数据操作为将输入矩阵和预设矩阵进行点乘(对应元素相乘),第二层网络为将第一层网络的输出矩阵与输入矩阵相加,进而经过算子融合后可同时进行上述两种数据操作,以提升初始网络模型的数据处理效率。
参见图3a,图3a是本申请实施例提供的初始网络模型的运行流程示意图。如图3a所示,初始网络模型的输入特征为数据矩阵I,第一层网络所进行的数据操作为将输入矩阵I和预设矩阵W进行点乘,第二层网络所进行的数据操作为将第一层网络的输出矩阵和初始网络模型对应的输入矩阵I相加,最终输出矩阵O,并将矩阵O作为初始网络模型的输出特征。
由此可见,初始网络模型在进行数据处理时,需要进行两次数据处理的过程,数据处理效率较低。因此,可对上述两次数据处理的数据操作算子进行融合,得到如图3b所示的模型结构。图3b是本申请实施例提供的算子融合后的初始网络模型的运行流程示意图,如图3b所示,在对上述两次数据处理的数据操作算子进行融合之后,算子融合后的初始网络模型可只进行一次数据处理过程,即将输入矩阵I和预设矩阵W进行点乘的结果与输入矩阵I相加的数据处理过程。
其中,上述算子融合过程可基于算子融合工具、算子融合模型以及相关插件进行,在此不做限制。例如,若第二模型格式为TensorRT,则可基于TensorRT对应的融合插件进行算子融合。
步骤S23、根据模型参数和模型结构配置信息,构建对应于第二模型格式的目标网络模型。
在一些可行的实施方式中,在初始网络模型对应的模型结构配置信息包括初始网络模型的各第一网络层的网络配置信息和各第一网络层之间的连接关系(为方便描述,以下简称第一连接关系),模型参数信息包括各第一网络层的权重信息的情况下,可根据各第一网络层的网络配置信息和权重信息,以及各第一网络层之间的第一连接关系,构建对应于第二模型格式的初始目标网络模型。其中,初始目标网络模型包括与各第一网络层分别对应的网络层(为方便描述,以下称为第二网络层),各第二网络层的权重信息为相对应的第一网络层的权重信息,并且初始目标网络模型的各第二网络层之间的第二连接关系与所述第一连接关系相同。
换句话说,对应于第一模型格式的初始网络模型和对应于第二模型格式的初始目标网络模型具有相同的网络组成,且各网络层对应的数据操作和相关配置均相同。第一模型格式的初始网络模型和对应于第二模型格式的初始目标网络模型的区别在于二者对应的模型格式不同。
例如,第一模型格式为ONNX格式,第二模型格式为TensorRT格式,通过初始网络模型的模型结构配置信息和各第一网络层的权重信息,得到对应于TensorRT格式的初始目标网络模型的代码,进而基于初始目标网络模型的代码构建出对应于TensorRT格式的初始目标网络模型。
以图3a所示的初始网络模型为例,基于该初始网络模型的模型结构配置信息和各第一网络层的权重信息,可得到用于构建对应于TensorRT格式的初始目标网络模型的相关代码。具体构建过程如下:
其中,注释″input″对应的代码用于配置初始目标网络模型的输入特征为矩阵I,矩阵I为张量,且矩阵I的数据类型为kFLOAT,输入特征的特征维度(矩阵维度)为[m,n],通道数为1。
其中,注释″添加矩阵点乘层”对应的代码用于配置初始目标网络中用于进行矩阵点乘数据操作的第二网络层,该第二网络层的输入特征为矩阵I,具体的数据操作为矩阵对应元素相乘ElementWiseOperation::kPROD,且与矩阵I进行相乘的是矩阵W。
其中,注释″添加矩阵相加层”对应的代码用于配置初始目标网络中用于进行矩阵相加数据操作的第二网络层,该第二网络层的输入特征为矩阵I以及矩阵点乘层的输入特征ele_prod_layer->getOutput(0),且具体的数据操作为矩阵对应元素求和ElementWiseOperation::kSUM。其中,该第二网络层的输出特征即为模型输出network->markOutput(*ele_sum_layer->getOutput(0))。
其中,注释″构建模型″对应的代码分别用于配置初始目标网络模型的最大训练样本数setMaxBatchSize(mParams.batchSize)、和运行初始目标网络模型的设备的最大运行缓存setMaxWorkspaceSize(16_MiB)等。
在一些可行的实施方式中,在根据各第一网络层的网络配置信息、权重信息以及各第一网络层之间的第一连接关系,构建对应于第二模型格式的初始目标网络模型之后,可将该初始目标网络模型确定为对应于第二模型格式的目标网络模型。
进一步的,为减少最终得到的对应于第二模型格式的目标网络模型的复杂度,可对根据各第一网络层的网络配置信息、权重信息以及各第一网络层之间的第一连接关系得到的对应于第二模型格式的初始目标网络模型之后,对该初始目标网络模型进行优化,得到最终的目标网络模型。具体可参见图4,图4是本申请实施例提供的构建目标网络模型的流程示意图,图4所示的构建目标网络模型的流程示意图可包括如下步骤:
步骤S41、确定初始目标网络模型的各第二网络层中满足融合条件的至少一个网络层组合,并对各网络层组合中的第二网络层进行融合,得到各网络层组合对应的第三网络层。
在一些可行的实施方式中,由于初始目标网络模型和初始网络模型具有相同的模型结构(具有相对应的网络层,且相对应的网络层对应的数据操作相同),因此初始网络模型中各第一网络层之间的第一连接关系与初始目标网络模型中各第二网络层之间的第二连接关系相同。
进一步的,可确定初始目标网络模型的各第二网络层中满足融合条件的至少一个网络层组合,并对各网络层组合中的第二网络层进行融合得到各网络层组合对应的网络层(为方便描述,以下称为第三网络层)。其中,每一网络层组合中包括至少两个第二网络层,每个第三网络层的权重信息包括相对应的网络层组合中各第二网络层对应的权重信息。
其中,上述融合条件为具有依次级联的至少两个特定第二网络层。
其中,上述特定第二网络层为卷积层、偏置层和激活层,换句话说,每一所述第二网络层组合包括卷积层、偏置层和激活层中的至少两项,且其包括的至少两个第二网络层依次级联。
其中,上述偏置层可以为单独的网络层,也可以为卷积层或者激活层中的偏置项,为方面描述,本申请统一称为偏置层。
换句话说,基于初始目标网络模型的各第二网络层之间的第二连接关系,可对初始目标网络中每个网络层组合中的多个第二网络层融合为一个第三网络层。通过对初始目标网络模型中的部分第二网络层进行融合,可减少初始目标网络模型中的网络层的数量。
作为一示例,可将初始目标网络模型中依次级联的卷积层、偏置层和激活层作为一个网络层组合,并对该网络层组合中的卷积层、偏置层和激活层进行融合,得到一个第三网络层。
参见图5a,图5a是本申请实施例提供的初始目标网络模型的结构示意图。如图5a中所示,初始目标网络模型中包括输入层、输出层、全连接层、池化层和多个偏置层、多个激活层以及多个卷积层。其中,卷积层可包括输入特征的特征维度为1×1的卷积层、输入特征的特征维度为3×3的卷积层以及输入特征的特征维度为5×5的卷积层。基于初始目标网络模型中各第二网络层(上述激活层、偏置层、输入层、输出层、全连接层以及池化层)之间的第二连接关系,可确定出多个可进行融合的网络层组合。如图5a中各虚线框分别对应一个网络层组合,即每个输入特征的特征维度为5×5的卷积层以及与其依次级联的偏置层和激活层作为一个网络层组合,每个输入特征的特征维度为3×3的卷积层以及与其依次级联的偏置层和激活层作为一个网络层组合,每个输入特征的特征维度为1×1的卷积层以及与其依次级联的偏置层和激活层作为一个网络层组合。进一步的对各网络层组合中的第二网络层进行融合,可得到多个第三网络层。
需要特别说明的是,对于每一网络层组合,其对应的第三网络层的输入特征和输出特征的数据类型、数据精度、数据操作以及特征维度等,与该网络组合对应的输入特征和输出特征的数据类型、数据精度、数据操作以及特征维度等均相同。也就是说,第三网络层所实现的具体功能与相对应的网络层组合的具体功能完全相同。
步骤S42、根据第二连接关系,确定各第三网络层和未融合的各第二网络层之间的第三连接关系,根据第三连接关系,各第三网络层和未融合的各第二网络层,得到对应于第二模型格式的目标网络模型。
在一些可行的实施方式中,由于每个进行融合的网络层组合中的第二网络层依次级联,因此基于初始目标网络模型中各第二网络层之间的第二连接关系可确定融合得到的各第三网络层、未进行融合的各第二网络层之间的连接关系(为方面描述,以下称为第三连接关系),进而基于融合得到的各第三网络层、未进行融合的各第二网络层以及相互之间的第三连接关系,得到对应于第二模型格式的目标网络模型。
参见图5b,图5b是本申请实施例提供的目标网络模型的一结构示意图。图5b是对图5a中部分第二网络层进行融合后得到的目标网络模型,即将输入特征的特征维度为5×5的卷积层以及与其依次级联的偏置层和激活层作为一个网络层组合并进行融合后得到第三网络层C,第三网络层C的输入特征的特征维度仍然为5×5;将每个输入特征的特征维度为3×3的卷积层以及与其依次级联的偏置层和激活层作为一个网络层组合并进行融合后得到第三网络层B,第三网络层B的输入特征的特征维度仍然为5×5;将每个输入特征的特征维度为1×1的卷积层以及与其依次级联的偏置层和激活层作为一个网络层组合并进行融合,得到第三网络层A、第三网络层D、第三网络层E以及第三网络层F,并且第三网络层A、第三网络层D、第三网络层E以及第三网络层F的输入特征的特征维度均为1×1。
其中,每个第三网络层与其他第二网络层或者第三网络层之间的连接关系,和其相对应的网络层组合与其他第二网络层或者网络层组合之间的连接关系相同。例如,输入特征的特征维度为5×5的卷积层以及与其依次级联的偏置层和激活层作为一个网络层组合,该网络层组合与的输入侧(卷积层)与一激活层相连接,输出侧(激活层)与全连接层相连接,因此对该网络层组合进行融合后得到的第三网络层C的输入侧与该激活层对应的第三网络层F(输入特征的特征维度为1×1的卷积层以及与其依次级联的偏置层和激活层对应的网络层组合)相连接,输出侧与全连接层相连接。
在一些可行的实施方式中,在对初始目标网络模型中的部分第二网络层进行融合得到第三网络层之后,若第三网络层中存在具有相同网络特征的第三网络层,则可对具有相同网络特征的第三网络层进行融合,得到相对应的第四网络层。
其中,上述网络特征包括输入特征、输入特征的特征维度以及数据操作等,也就是说,具有相同网络特征的第三网络层所对应的功能、输入特征以及输入特征完全相同。
进一步的,根据各第三网络层和未融合的各第二网络层之间的第三连接关系,可确定各第四网络层、未融合的各第三网络层和未融合的各第二网络层之间的连接关系(为方便描述,以下称为第四连接关系),进而基于各第四网络层、未融合的各第三网络层和未融合的各第二网络层,以及第四连接关系,得到对应于第二模型格式的目标网络模型。
参见图5c,图5c是本申请实施例提供的目标网络模型的另一结构示意图。假设图5b是对图5a中部分第二网络层进行融合后的初始网络模型,不难发现输入特征为1×1的第三网络层A、第三网络层E和第三网络层F为具有相同网络特征的第三网络层,因此可对第三网络层A、第三网络层E和第三网络层F进行融合得到第四网络层,且第四网络层的输入特征的特征维度同样为1×1。
另一方面,基于图5b可知第三网络层A分别与输入层和全连接层相连接,第三网络层E分别与输入层和第三网络层B相连接,第三网络层F分别与输入层和第三网络层C相连接,因此对第三网络层A、第三网络层E和第三网络层F进行融合得到的第四网络层而言,该第四网络层的输入侧与输入层连接,输出侧分别与全连接层、第三网络层B以及第三网络层C相连接,第三网络层B、第三网络层C、第三网络层D、池化层、全连接层、输入层和输出层的连接关系不变,进而可得到包括第四网络层的对应于第二模型格式的目标网络模型。
也就是说,第四网络层可对输入层输入的输入特征进行与第三网络层A、第三网络层E和第三网络层F相同的数据操作,并将输出特征分别输入至全连接层、第三网络层B和第三网络层C,且对应于第二模型格式的目标网络模型相较于图5b所示的初始网络模型具有更为简单的网络结构,具备更高的数据处理效率。
作为一示例,第一模型格式为ONNX格式,该模型格式是目前一种较流行的模型中间格式,现有技术中众多主流训练框架都支持将自身的模型格式转换成ONNX格式。但是现有的模型格式转换方案需要将训练框架得到的网络模型的模型格式转换为ONNX格式(中间格式),再将ONNX格式的网络模型转换为TensorRT格式的目标网络模型,不仅转换链较长,并且最终得到的TensorRT格式的目标网络模型容易出现不兼容等问题。并且,现有的模型训练框架中仍然存在部分不支持ONNX格式的训练框架,因此在将该训练框架得到的网络模型进行模型格式转换时,需要重新开发支持ONNX格式的训练框架,成本较高。另一方面,现有的网络模型的格式转换方法只能在网络模型的算子层面一对一转换,格式转换效率较低。因此,基于本申请实施例提供的数据处理方法,无论初始网络模型为何种模型格式,均可根据预先存储的模型结构配置信息和模型参数配置信息将其模型格式转换为对应于目标模型格式的目标网络模型。
本申请实施例提供的数据处理方法可在应用于包括AIlab语音分离服务,广告语音识别服务,短视频字幕加标点服务,短视频搜索服务等多个网络模型中,可有效提高相对应的服务的运行速度,节约线上服务器资源,提升用户体验。
如第二模型格式为TensorRT格式,在典型的应用服务如AIlab语音分离服务中,基于本申请实施例提供的数据处理方法,可将双路循环神经网络(DUAL-PATH RecurrentNeural Network,DPRNN)语音分离模型快速转换为TensorRT格式的目标网络模型,通过简化模型结构以及提升模型格式转换效率,可大幅度提高语音分离服务的速度。
参见图6,图6是本申请实施例提供的数据处理方法的原理示意图。如图6所示,在基于本申请实施例提供的数据处理方法将对应于第一模型格式的初始网络模型转换为对应于第二模型格式的目标网络模型时,可包括层间融合和张量融合(Layer&TensorFusion)、精度校准(Precision Calibration)、核函数自动调整(Kernel Auto-Tuning)、动态张量记忆(Dynamic Tensor Memory)、多流执行(Multi-Stream Execution)等过程。
其中,层间融合和张量融合即为本申请实施例中对初始目标网络模型的网络层进行融合的过程。其中,初始目标网络模型中每个网络层的运算操作都是由GPU完成的,但实际上是GPU通过启动不同的CUDA核心来完成计算的,CUDA核心计算的速度是很快的,但是往往大量的时间是浪费在CUDA核心的启动和对每一网络层的输入特征和输出特征的读写操作上面,这造成了GPU资源的浪费。因此,通过对部分第二网络层进行合并(层间融合)得到第三网络层,(其中第三网络层的结构称为CBR,意指卷积层convolutionlayer,偏置层biaslayer和激活层ReLU layer所得到的网络结构),使得初始目标网络模型的网络层的数量大大减少。通过将网络特征相同的第三网络层合并(张量融合)可以把结构相同,但是权值不同的第三层合并成一个更宽的层,也只占用一个CUDA核心,并且合并之后得到的目标网络模型的网络层层次更少,占用的CUDA核心数变少,因此最终得到的对应于第二模型格式的目标网络模型的模型结构会简单,数据处理效率更高效。
其中,在模型优化过程中还需要进行数据精度校准,大部分初始网络模型中的输入特征如张量Tensor)都是32位浮点数的精度(Full 32-bit precision,FP32),由于在模型优化过程中不需要反向传播,因此可适当降低数据精度,比如降为FP16或INT8的精度,从而使得运行本申请实施实施例提供的数据处理方法的设备的内存占用和延迟更低,得到的目标网络模型的体积更小。
其中,对于核函数自动调整,由于网络模型的优化过程是通过调用GPU的CUDA核进行的,因此在优化过程中可针对初始网络模型所涉及的不同的算法,不同的GPU平台,进行CUDA核的调整,以保证当前用于网络模型的优化的设备处于最佳性能。
其中,对于动态张量记忆,模型的输入特征为张量时,在模型优化过程中可为每个输入特征指定显存,避免显存重复申请以提升设备的内存占用和重复使用效率。
需要特别说明的是,本申请实施例中所涉及的网络(层)包括但不限于激活层、全连接层、卷积层(2D卷积层、3D卷积层等)、池化层、扁平层、循环神经网络、门循环神经网络、长短期记忆人工神经网络等,具体可基于实际应用场景需求确定,在此不做限制。
其中,对于多流执行,在模型优化过程中可基于GPU进行多流优化,以提升模型优化效率。
步骤S24、获取初始网络模型对应的待处理数据,基于目标网络模型对待处理数据进行处理。
在一些可行的实施方式中,初始网络模型对应的待处理数据为初始网络模型所需要处理的数据,即需要通过初始网络模型的数据处理功能进行处理的数据。其中,上述初始网络模型的数据处理功能包括但不限于文本分类、语音分离、数据检索以及语音识别等,具体可基于实际应用场景需求确定,在此不做限制。
例如,初始网络模型可用于语音分离,即可用于将目标语音从背景音干扰中分离出来,则待处理数据为需要进行语音分离处理的,包括目标语音和背景音的待处理语音数据,进而通过对初始网络模型进行优化后得到的目标网络模型可对待处理语音数据进行语音分离处理。
又例如,初始网络模型可用于语音识别,则待处理数据为需要进行语音识别处理的待处理语音数据,进而通过目标网络模块可对待处理语音数据进行语音识别。
再例如,初始网络模型可用于文本分类,则待处理数据为需要进行文本分类的文本数据,进而通过目标网络模型可对文本数据进行分文分类。
在本申请实施例中,通过预先将第一模型格式的各初始网络模型的模型参数和模型结构配置信息进行存储,在某一初始网络模型进行模型格式转换时,直接获取该初始网络模型的模型结构配置信息和模型参数构建对应于第二模型格式的目标网络模型,可提升模型格式转换效率以提升数据处理效率。另一方面,通过根据模型参数和模型结构配置信息构建的初始目标网络模型中的网络层进行融合,可降低第二模型格式的目标网络模型的模型复杂度,进而提升目标网络模型的数据处理效率,适用性高。
具体实现中,通过步骤S21-步骤S23所示的方法可得到第一模型格式的初始网络模型对应的第二模型格式的目标网络模型,并且目标网络模型和初始网络模型具有相同的数据处理功能。对于同一数据处理任务,目标网络模型可基于更简单的模型结构采用与初始网络模型相同的处理方式对待处理数据进行处理。
例如,参见图7a,图7a是本申请实施例提供的初始文本分类模型的结构示意图。其中,图7a所示的初始文本分类模型的模型格式为第一模型格式。在基于初始文本分类模型对待处理文本数据进行分类时,需要先经过第一处理单元、第二处理单元、第三处理单元以及池化层分别对待处理数据进行处理,并分别得到第一输出特征、第二输出特征、第三输出特征以及第四输出特征、其中,第一处理单元、第二处理单元以及第三处理单元均包括依次级联的1×1的卷积层、偏置层以及激活层,且每个处理单元内1×1的卷积层的输入特征为待处理文本数据,每个处理单元内激活层的输出特征为相对应的处理单元的输出特征。进一步的,基于第四处理单元、第五处理单元以及第六处理单元分别对第一输出特征、第二输出特征以及第三输出特征进行处理,得到第五输出特征、第六输出特征以及第七输出特征。其中,第四处理单元包括依次级联的3×3的卷积层、偏置层以及激活层、第五处理单元包括依次级联的5×5的卷积层、偏置层以及激活层,第六处理单元包括依次级联的1×1的卷积层、偏置层以及激活层。最终,基于上述得到的第四输出特征、第五输出特征、第六输出特征以及第七输出特征,通过全连接层和输出层得到模型输出结果,进而基于输出结果确定待处理文本数据的类别。
参见图7b,图7b是本申请实施例提供的目标文本分类模型的结构示意图。其中,图7b所示的目标文本分类模型是图7a所示的初始文本分类模型对应的,基于步骤S21-步骤S23所示的方法得到的第二模型格式的目标网络模型。其中,第一网络模块的数据处理方式与图7a中的第一处理单元、第二处理单元以及第三处理单元的数据处理方式(依次级联的1×1的卷积层、偏置层以及激活层对应的数据处理方式)相同。即在目标文本分类模型中,只需要通过第一网络模型对待处理文本数据进行一次数据处理,即可得到对应于初始文本分类模型中的第一输出特征、第二输出特征、第四输出特征以及第四输出特征。并且通过池化层对待处理文本数据进行处理,得到对应于初始文本分类模型中的第三输出特征。
进一步的,通过第二网络模块对第一输出特征进行处理得到第五输出特征、通过第三网络模型对第二输出特征进行处理得到第六输出特征以及通过第四网络模块对第三输出特征进行处理得到第七输出特征。其中,第二网络模块对应于初始文本分类模型中的第四处理单元,具有依次级联的3×3的卷积层、偏置层以及激活层对应的数据处理方式;第三网络模块对应于初始文本分类模型中的第五处理单元,具有依次级联的5×5的卷积层、偏置层以及激活层对应的数据处理方式;第四网络模块对应于初始文本分类模型中的第六处理单元,具有依次级联的1×1的卷积层、偏置层以及激活层对应的数据处理方式。从而基于上述得到的第四输出特征、第五输出特征、第六输出特征以及第七输出特征,通过全连接层和输出层得到模型输出结果,进而基于输出结果确定待处理文本数据的类别。
通过图7a中初始文本分类模型的待处理文本数据的处理过程,以及图7b中目标文本分类模型的待处理文本数据的处理过程可知,目标文本分类模型具有与初始文本分类模型相同的文本处理功能,并且相较于初始文本分类模型具有更为简单的模型结构,从而相较于初始文本分类模型具有更高的文本数据分类效率。
参见图8,图8是本申请实施例提供的数据处理装置的结构示意图。本申请实施例提供的数据处理装置1包括:
模型配置信息获取模块11,用于获取第一模型格式的初始网络模型的模型配置信息,其中,上述模型配置信息包括模型参数配置信息和模型结构配置信息;
模型参数获取模块12,用于根据上述模型参数配置信息获取上述初始网络模型的模型参数;
网络模型处理模块13,用于根据上述模型参数和上述模型结构配置信息,构建对应于第二模型格式的目标网络模型;
数据处理模块14,用于获取所述初始网络模型对应的待处理数据,基于所述目标网络模型对所述待处理数据进行处理。
在一些可行的实施方式中,上述模型参数配置信息包括上述模型参数的存储路径。
在一些可行的实施方式中,上述网络模型处理模块13,用于
根据上述模型配置信息,对上述初始网络模型的至少两个第一网络层对应的数据操作进行算子融合,并确定算子融合后的模型结构配置信息;
基于上述算子融合后的模型结构配置信息和上述模型参数配置信息,生成对应于第二模型格式的目标网络模型。
在一些可行的实施方式中,上述模型结构配置信息包括上述初始网络模型的各第一网络层的网络配置信息;
对于每一上述第一网络层,该第一网络层的网络配置信息包括以下至少一项:
第一网络层的输入特征的特征信息;
第一网络层的输出特征的特征信息;
用于描述第一网络层的网络功能的相关信息。
在一些可行的实施方式中,上述模型结构配置信息还包括以下至少一项:
模型的输入特征的特征信息;
模型的输出特征的特征信息;
模型的输入特征的特征类型的指示信息;
模型的最大训练样本数;
模型对应的运行缓存;
运行模型的处理器的标识信息。
在一些可行的实施方式中,上述特征信息包括数据类型、数据精度以及特征维度中的至少一项。
在一些可行的实施方式中,上述模型参数为对应于第一信息格式的模型参数。
在一些可行的实施方式中,上述模型结构配置信息包括上述初始网络模型的各第一网络层的网络配置信息和各上述第一网络层之间的第一连接关系,上述模型参数包括各上述第一网络层的权重信息;
上述网络模型处理模块13,用于
根据各上述第一网络层的网络配置信息、权重信息以及各上述第一网络层之间的第一连接关系,构建对应于上述第二模型格式的初始目标网络模型;
其中,上述初始目标网络模型包括与各上述第一网络层分别对应的第二网络层,各上述第二网络层的权重信息为相对应的第一网络层的权重信息,上述初始目标网络模型的各上述第二网络层之间的第二连接关系与上述第一连接关系相同;
根据上述初始目标网络模型,得到对应于上述第二模型格式的目标网络模型。
在一些可行的实施方式中,上述网络模型处理模块13,用于
确定上述初始目标网络模型的各第二网络层中满足融合条件的至少一个网络层组合,并对各上述网络层组合中的第二网络层进行融合,得到各上述网络层组合对应的第三网络层,其中,每个上述网络层组合包括至少两个第二网络层,每个上述第三网络层的权重信息包括相对应的网络层组合中各第二网络层对应的权重信息;
根据上述第二连接关系,确定各上述第三网络层和未融合的各上述第二网络层之间的第三连接关系,根据上述第三连接关系,各上述第三网络层和未融合的各上述第二网络层,得到对应于上述第二模型格式的目标网络模型。
在一些可行的实施方式中,上述网络模型处理模块13,用于
将各上述第三网络层中具有相同网络特征的第三网络层进行融合,得到相对应的第四网络层,上述网络特征包括输入特征、上述输入特征的特征维度、以及数据操作;
根据上述第三连接关系,确定各上述第四网络层、未融合的各上述第三网络层和未融合的各上述第二网络层之间的第四连接关系;
根据上述第四连接关系、各上述第四网络层、未融合的各上述第三网络层和未融合的各上述第二网络层,得到对应于上述第二模型格式的目标网络模型。
在一些可行的实施方式中,每一上述第二网络层组合包括卷积层、偏置层和激活层中的至少两项。
具体实现中,上述数据处理装置1可通过其内置的各个功能模块执行如上述图2中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该数据处理装置可以用于执行本申请实施例提供的方法中的相应步骤。
在一些可行的实施例中,本申请实施例提供的数据处理装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的数据处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在另一些可行的实施例中,本申请实施例提供的数据处理装置可以采用软件方式实现,图8中的模型配置信息获取模块11、模型参数获取模块12以及网络模型处理模块13可用于实现本申请实施例提供的数据处理方法。
参见图9,图9是本申请实施例提供的电子设备的结构示意图。如图9所示,本实施例中的电子设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述电子设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图9所示的电子设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现本申请实施例提供的数据处理方法。
应当理解,在一些可行的实施方式中,上述处理器1001可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,上述电子设备1000可通过其内置的各个功能模块执行如上述图2中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图2中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述数据处理装置或者电子设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(randomaccessmemory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图2中各个步骤所提供的方法。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或电子设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或电子设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据处理方法,其特征在于,所述方法包括:
获取第一模型格式的初始网络模型的模型配置信息,其中,所述模型配置信息包括模型参数配置信息和模型结构配置信息;
根据所述模型参数配置信息获取所述初始网络模型的模型参数;
根据所述模型参数和所述模型结构配置信息,构建对应于第二模型格式的目标网络模型;
获取所述初始网络模型对应的待处理数据,基于所述目标网络模型对所述待处理数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述模型参数配置信息包括所述模型参数的存储路径。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述模型参数和所述模型结构配置信息,构建对应于第二模型格式的目标网络模型,包括:
根据所述模型配置信息,对所述初始网络模型的至少两个第一网络层对应的数据操作进行算子融合,并确定算子融合后的模型结构配置信息;
基于所述算子融合后的模型结构配置信息和所述模型参数配置信息,生成对应于第二模型格式的目标网络模型。
4.根据权利要求1所述的方法,其特征在于,所述模型结构配置信息包括所述初始网络模型的各第一网络层的网络配置信息;
对于每一所述第一网络层,该第一网络层的网络配置信息包括以下至少一项:
第一网络层的输入特征的特征信息;
第一网络层的输出特征的特征信息;
用于描述第一网络层的网络功能的相关信息。
5.根据权利要求1所述的方法,其特征在于,所述模型结构配置信息还包括以下至少一项:
模型的输入特征的特征信息;
模型的输出特征的特征信息;
模型的输入特征的特征类型的指示信息;
模型的最大训练样本数;
模型对应的运行缓存;
运行模型的处理器的标识信息。
6.根据权利要求4或5所述的方法,其特征在于,所述特征信息包括数据类型、数据精度以及特征维度中的至少一项。
7.根据权利要求1所述的方法,其特征在于,所述模型参数为对应于第一信息格式的模型参数。
8.根据权利要求1所述的方法,其特征在于,所述模型结构配置信息包括所述初始网络模型的各第一网络层的网络配置信息和各所述第一网络层之间的第一连接关系,所述模型参数包括各所述第一网络层的权重信息;
所述根据所述模型参数和所述模型结构配置信息,构建对应于第二模型格式的目标网络模型,包括:
根据各所述第一网络层的网络配置信息、权重信息以及各所述第一网络层之间的第一连接关系,构建对应于所述第二模型格式的初始目标网络模型;
其中,所述初始目标网络模型包括与各所述第一网络层分别对应的第二网络层,各所述第二网络层的权重信息为相对应的第一网络层的权重信息,所述初始目标网络模型的各所述第二网络层之间的第二连接关系与所述第一连接关系相同;
根据所述初始目标网络模型,得到对应于所述第二模型格式的目标网络模型。
9.根据权利要求8所述的方法,其特征在于,所述根据所述初始目标网络模型,得到对应于所述第二模型格式的目标网络模型,包括:
确定所述初始目标网络模型的各第二网络层中满足融合条件的至少一个网络层组合,并对各所述网络层组合中的第二网络层进行融合,得到各所述网络层组合对应的第三网络层,其中,每个所述网络层组合包括至少两个第二网络层,每个所述第三网络层的权重信息包括相对应的网络层组合中各第二网络层对应的权重信息;
根据所述第二连接关系,确定各所述第三网络层和未融合的各所述第二网络层之间的第三连接关系,根据所述第三连接关系,各所述第三网络层和未融合的各所述第二网络层,得到对应于所述第二模型格式的目标网络模型。
10.根据权利要求9所述的方法,其特征在于,所述根据所述第三连接关系,各所述第三网络层和未融合的各所述第二网络层,得到对应于所述第二模型格式的目标网络模型,包括:
将各所述第三网络层中具有相同网络特征的第三网络层进行融合,得到相对应的第四网络层,所述网络特征包括输入特征、所述输入特征的特征维度、以及数据操作;
根据所述第三连接关系,确定各所述第四网络层、未融合的各所述第三网络层和未融合的各所述第二网络层之间的第四连接关系;
根据所述第四连接关系、各所述第四网络层、未融合的各所述第三网络层和未融合的各所述第二网络层,得到对应于所述第二模型格式的目标网络模型。
11.根据权利要求9或10所述的方法,其特征在于,每一所述第二网络层组合包括卷积层、偏置层和激活层中的至少两项。
12.一种数据处理装置,其特征在于,所述数据处理装置包括:
模型配置信息获取模块,用于获取第一模型格式的初始网络模型的模型配置信息,其中,所述模型配置信息包括模型参数配置信息和模型结构配置信息;
模型参数获取模块,用于根据所述模型参数配置信息获取所述初始网络模型的模型参数;
网络模型处理模块,用于根据所述模型参数和所述模型结构配置信息,构建对应于第二模型格式的目标网络模型;
数据处理模块,用于获取所述初始网络模型对应的待处理数据,基于所述目标网络模型对所述待处理数据进行处理。
13.根据权利要求12所述的数据处理装置,其特征在于,所述网络模型处理模块,用于:
根据所述模型配置信息,对所述初始网络模型的至少两个第一网络层对应的数据操作进行算子融合,并确定算子融合后的模型结构配置信息;
基于所述算子融合后的模型结构配置信息和所述模型参数配置信息,生成对应于第二模型格式的目标网络模型。
14.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;
所述存储器用于存储计算机程序;
所述处理器被配置用于在调用所述计算机程序时,执行如权利要求1至11任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110062359.1A CN113570030B (zh) | 2021-01-18 | 2021-01-18 | 数据处理方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110062359.1A CN113570030B (zh) | 2021-01-18 | 2021-01-18 | 数据处理方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113570030A true CN113570030A (zh) | 2021-10-29 |
CN113570030B CN113570030B (zh) | 2024-05-10 |
Family
ID=78160945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110062359.1A Active CN113570030B (zh) | 2021-01-18 | 2021-01-18 | 数据处理方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113570030B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168232A (zh) * | 2021-12-20 | 2022-03-11 | 南京星云数字技术有限公司 | 一种算法模型结果转换配置方法、装置、设备和介质 |
CN114500651A (zh) * | 2022-01-27 | 2022-05-13 | 成都质数斯达克科技有限公司 | 一种区块链数据传输方法、装置和设备及可读存储介质 |
CN114764811A (zh) * | 2022-03-14 | 2022-07-19 | 什维新智医疗科技(上海)有限公司 | 一种基于动态超声视频的病灶区域实时分割装置 |
CN115862596A (zh) * | 2023-03-03 | 2023-03-28 | 山东山大鸥玛软件股份有限公司 | 一种基于深度学习的英语口语语音识别方法 |
WO2023125951A1 (zh) * | 2021-12-31 | 2023-07-06 | 维沃移动通信有限公司 | 通信模型配置方法、装置和通信设备 |
WO2024012388A1 (zh) * | 2022-07-15 | 2024-01-18 | 华为技术有限公司 | 一种数据类型的处理方法及相关装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190050715A1 (en) * | 2018-09-28 | 2019-02-14 | Intel Corporation | Methods and apparatus to improve data training of a machine learning model using a field programmable gate array |
CN109697500A (zh) * | 2018-12-29 | 2019-04-30 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN109919308A (zh) * | 2017-12-13 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 一种神经网络模型部署方法、预测方法及相关设备 |
CN111768004A (zh) * | 2020-06-10 | 2020-10-13 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于智能计算框架的模型自适应方法及*** |
CN111783974A (zh) * | 2020-08-12 | 2020-10-16 | 成都佳华物链云科技有限公司 | 模型构建及图像处理方法、装置、硬件平台及存储介质 |
CN111797969A (zh) * | 2020-06-23 | 2020-10-20 | 浙江大华技术股份有限公司 | 神经网络模型的转换方法及相关装置 |
CN111914985A (zh) * | 2019-05-10 | 2020-11-10 | 杭州海康威视数字技术股份有限公司 | 深度学习网络模型的配置方法、装置及存储介质 |
CN112163677A (zh) * | 2020-10-14 | 2021-01-01 | 杭州海康威视数字技术股份有限公司 | 应用机器学习模型的方法、装置及设备 |
-
2021
- 2021-01-18 CN CN202110062359.1A patent/CN113570030B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109919308A (zh) * | 2017-12-13 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 一种神经网络模型部署方法、预测方法及相关设备 |
US20200050939A1 (en) * | 2017-12-13 | 2020-02-13 | Tencent Technology (Shenzhen) Company Limited | Neural network model deployment method, prediction method and related device |
US20190050715A1 (en) * | 2018-09-28 | 2019-02-14 | Intel Corporation | Methods and apparatus to improve data training of a machine learning model using a field programmable gate array |
CN109697500A (zh) * | 2018-12-29 | 2019-04-30 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111914985A (zh) * | 2019-05-10 | 2020-11-10 | 杭州海康威视数字技术股份有限公司 | 深度学习网络模型的配置方法、装置及存储介质 |
CN111768004A (zh) * | 2020-06-10 | 2020-10-13 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于智能计算框架的模型自适应方法及*** |
CN111797969A (zh) * | 2020-06-23 | 2020-10-20 | 浙江大华技术股份有限公司 | 神经网络模型的转换方法及相关装置 |
CN111783974A (zh) * | 2020-08-12 | 2020-10-16 | 成都佳华物链云科技有限公司 | 模型构建及图像处理方法、装置、硬件平台及存储介质 |
CN112163677A (zh) * | 2020-10-14 | 2021-01-01 | 杭州海康威视数字技术股份有限公司 | 应用机器学习模型的方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
施一飞: "对使用TensorRT加速AI深度学习推断效率的探索", 《科技视界》, no. 31, 5 November 2017 (2017-11-05), pages 26 - 27 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168232A (zh) * | 2021-12-20 | 2022-03-11 | 南京星云数字技术有限公司 | 一种算法模型结果转换配置方法、装置、设备和介质 |
WO2023125951A1 (zh) * | 2021-12-31 | 2023-07-06 | 维沃移动通信有限公司 | 通信模型配置方法、装置和通信设备 |
CN114500651A (zh) * | 2022-01-27 | 2022-05-13 | 成都质数斯达克科技有限公司 | 一种区块链数据传输方法、装置和设备及可读存储介质 |
CN114500651B (zh) * | 2022-01-27 | 2023-06-30 | 成都质数斯达克科技有限公司 | 一种区块链数据传输方法、装置和设备及可读存储介质 |
CN114764811A (zh) * | 2022-03-14 | 2022-07-19 | 什维新智医疗科技(上海)有限公司 | 一种基于动态超声视频的病灶区域实时分割装置 |
CN114764811B (zh) * | 2022-03-14 | 2024-07-09 | 什维新智医疗科技(上海)有限公司 | 一种基于动态超声视频的病灶区域实时分割装置 |
WO2024012388A1 (zh) * | 2022-07-15 | 2024-01-18 | 华为技术有限公司 | 一种数据类型的处理方法及相关装置 |
CN115862596A (zh) * | 2023-03-03 | 2023-03-28 | 山东山大鸥玛软件股份有限公司 | 一种基于深度学习的英语口语语音识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113570030B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113570030B (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN110263324B (zh) | 文本处理方法、模型训练方法和装置 | |
CN110457256A (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN111178507B (zh) | 图谱卷积神经网络数据处理方法及装置 | |
WO2023138188A1 (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
CN116645668B (zh) | 图像生成方法、装置、设备以及存储介质 | |
CN114580263A (zh) | 基于知识图谱的信息***故障预测方法及相关设备 | |
CN113674374B (zh) | 基于生成式对抗网络的中文文本生成图像方法及装置 | |
CN116822452B (zh) | 芯片布局优化方法及相关设备 | |
CN114925651A (zh) | 一种电路走线确定方法及相关设备 | |
WO2022246986A1 (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
US20220301106A1 (en) | Training method and apparatus for image processing model, and image processing method and apparatus | |
CN112084959B (zh) | 一种人群图像处理方法及装置 | |
CN113792033A (zh) | 一种基于Spark的数据质量核查方法、装置、存储介质及终端 | |
CN113468344A (zh) | 实体关系抽取方法、装置、电子设备和计算机可读介质 | |
CN111259975B (zh) | 分类器的生成方法及装置、文本的分类方法及装置 | |
CN115412401B (zh) | 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置 | |
CN117014693A (zh) | 视频处理方法、装置、设备以及存储介质 | |
CN112948251B (zh) | 软件自动测试方法及装置 | |
CN109120509A (zh) | 一种信息收集的方法及装置 | |
CN113191364B (zh) | 车辆外观部件识别方法、装置、电子设备和介质 | |
CN114972775A (zh) | 特征处理方法、装置、产品、介质及设备 | |
CN114444040A (zh) | 认证处理方法、装置、存储介质及电子设备 | |
CN111582456A (zh) | 用于生成网络模型信息的方法、装置、设备和介质 | |
CN117519996B (zh) | 一种数据处理方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40053948 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |