CN113780513A - 网络模型量化、推理方法、装置、电子设备及存储介质 - Google Patents

网络模型量化、推理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113780513A
CN113780513A CN202010521761.7A CN202010521761A CN113780513A CN 113780513 A CN113780513 A CN 113780513A CN 202010521761 A CN202010521761 A CN 202010521761A CN 113780513 A CN113780513 A CN 113780513A
Authority
CN
China
Prior art keywords
quantization
network
subgraph
output
data
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
Application number
CN202010521761.7A
Other languages
English (en)
Other versions
CN113780513B (zh
Inventor
孟泽民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202010521761.7A priority Critical patent/CN113780513B/zh
Publication of CN113780513A publication Critical patent/CN113780513A/zh
Application granted granted Critical
Publication of CN113780513B publication Critical patent/CN113780513B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请实施例提供了一种网络模型量化、推理方法、装置、电子设备及存储介质,涉及深度学习技术领域。方法包括:获得待量化网络模型;在沿所述待量化网络模型的数据处理流向对所述待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层;若为是,以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿所述数据处理流向的下一网络子图进行量化;若为否,以模型推理平台支持的量化方式对该当前处理对象进行量化。由此可见,应用本申请实施例提供的方案,能够提高对量化后的模型进行模型推理时的效率。

Description

网络模型量化、推理方法、装置、电子设备及存储介质
技术领域
本申请涉及深度学习技术领域,特别是涉及一种网络模型量化、推理方法、装置、电子设备及存储介质。
背景技术
随着深度学习技术的快速发展,网络模型的结构越来越复杂。在模型推理平台上对网络模型进行推理时,为了提高模型推理平台的推理效率,节省运算资源,通常需要对网络模型进行量化。
在对网络模型进行量化时,通常由用户设定网络模型中各个网络子图的量化方式,然后按照设定的量化方式对网络模型的各个网络子图进行量化,其中,所设定的量化方式可以是模型推理平台支持的量化方式,也可以是第三方量化方式。由于量化方式不同,经过量化后网络模型的各个网络子图所支持的数据类型可能会不相同。其中,上述网络子图包括网络模型中连续的、且需要采用相同量化方式进行量化的网络层。
对量化后的网络模型进行推理时,各个网络子图间会涉及数据交互。由于模型推理平台支持的数据类型为固定的数据类型,而量化后各个网络子图所支持的数据类型不同,因此,现有技术中,在采用上述方式对网络模型进行量化的情况下,进行模型推理时,需要将上一网络子图输出的数据送至模型推理平台中的数据转换单元,数据转换单元基于量化系数将上一网络子图所输出数据的数据类型转换为固定的数据类型,然后对转换后的数据再次进行类型转换得到下一网络子图所支持的数据类型,再将数据类型转换后的数据送至下一网络子图。例如,假设量化后的一个网络子图输出数据的位宽为4bit,该网络层的下一网络子图量化后支持的数据的位宽为8bit,固定的数据位宽为32bit,为实现数据在上述两个网络层之间交互,需要将位宽为4bit的数据送至数据转换单元,将该数据转化为32bit位宽的数据,再将32bit位宽的数据转化为8bit位宽的数据传输至下一网络子图。
可见,应用现有技术量化后得到的网络模型在进行模型推理时,需要模型推理平台的数据转换单元对网络子图间交互的数据进行类型转换,而数据转换单元位于网络模型外部,因此在进行类型转换时涉及到网络子图与外部的数据交互,而且需要将交互数据转化至固定数据类型的格式,这样的交互过程耗时较长,导致模型推理的效率较低。
发明内容
本申请实施例的目的在于提供一种网络模型量化、推理方法、装置、电子设备及存储介质,以提高对量化后的模型进行模型推理时的效率。具体技术方案如下:
第一方面,本申请实施例提供了一种网络模型量化方法,所述方法包括:
获得待量化网络模型,其中,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于:参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
在沿所述待量化网络模型的数据处理流向对所述待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层;
若为是,以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿所述数据处理流向的下一网络子图进行量化;
若为否,以模型推理平台支持的量化方式对该当前处理对象进行量化。
本申请的一个实施例中,所述获得待量化网络模型,包括:
获得原始网络模型;
检测所述原始网络模型中需要采用第三方量化方式进行量化的网络子图,作为第一类网络子图;
分别在检测到的第一类网络子图的输入端与输出端添加量化中间层,针对每一量化中间层,根据该量化中间层所连接的网络子图的量化信息,对该量化中间层的参数进行设定,得到待量化网络模型。
本申请的一个实施例中,针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与一个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述一个第二类网络子图之间,其中,所述第二类网络子图为:需要采用所述模型推理平台支持的量化方式进行量化的网络子图;和/或
针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与多个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述多个第二类网络子图之间。
本申请的一个实施例中,所述第一类网络子图为:需要采用所述模型推理平台不支持的量化方式进行量化的网络子图;和/或
所述第一类网络子图为:包含本地不支持进行量化的网络层的网络子图;和/或
所述第一类网络子图为:用户指定的需要采用第三方量化方式进行量化的网络子图。
本申请的一个实施例中,所述以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿所述数据处理流向的下一网络子图进行量化,包括:
识别量化中间层参数中包括的输出量化方式标识;
从用户配置的量化方式和本地支持的量化方式中,查找所识别出的输出量化方式标识对应的输出量化方式,按照查找到的输出量化方式对沿所述数据处理流向的下一网络子图进行量化。
第二方面,本申请实施例提供了一种网络模型推理方法,所述方法包括:
获得待推理网络模型,其中,所述待推理网络模型为:对待量化网络模型进行量化得到的模型,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于指示:按照所述输出量化方式标识对应的输出量化方式、对沿所述待量化网络模型的数据处理流向的下一网络子图进行量化,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为量化中间层;
若为是,参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,并基于所述输出数据对沿所述数据处理流向的下一网络子图进行推理。
本申请的一个实施例中,所述方法还包括:
在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为第一类网络子图;
若为是,按照用户配置的推理信息,基于所述待推理数据,对所述第一类网络子图进行推理。
第三方面,本申请实施例提供了一种网络模型量化装置,所述装置包括:
第一模型获得模块,用于获得待量化网络模型,其中,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于:参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
第一模型判断模块,用于在沿所述待量化网络模型的数据处理流向对所述待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层,若为是,触发第一模型量化模块,若为否,触发第二模型量化模块;
所述第一模型量化模块,用于以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿所述数据处理流向的下一网络子图进行量化;
所述第二模型量化模块,用于以模型推理平台支持的量化方式对该当前处理对象进行量化。
本申请的一个实施例中,所述第一模型获得模块,具体用于:
获得原始网络模型;
检测所述原始网络模型中需要采用第三方量化方式进行量化的网络子图,作为第一类网络子图;
分别在检测到的第一类网络子图的输入端与输出端添加量化中间层,针对每一量化中间层,根据该量化中间层所连接的网络子图的量化信息,对该量化中间层的参数进行设定,得到待量化网络模型。
本申请的一个实施例中,针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与一个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述一个第二类网络子图之间,其中,所述第二类网络子图为:需要采用所述模型推理平台支持的量化方式进行量化的网络子图;和/或
针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与多个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述多个第二类网络子图之间。
本申请的一个实施例中,所述第一类网络子图为:需要采用所述模型推理平台不支持的量化方式进行量化的网络子图;和/或
所述第一类网络子图为:包含本地不支持进行量化的网络层的网络子图;和/或
所述第一类网络子图为:用户指定的需要采用第三方量化方式进行量化的网络子图。
本申请的一个实施例中,所述第一模型量化模块,具体用于:
识别量化中间层参数中包括的输出量化方式标识;
从用户配置的量化方式和本地支持的量化方式中,查找所识别出的输出量化方式标识对应的输出量化方式,按照查找到的输出量化方式对沿所述数据处理流向的下一网络子图进行量化。
第四方面,本申请实施例提供了一种网络模型推理装置,所述装置包括:
第二模型获得模块,用于获得待推理网络模型,其中,其中,所述待推理网络模型为:对待量化网络模型进行量化得到的模型,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于指示:按照所述输出量化方式标识对应的输出量化方式、对沿所述待量化网络模型的数据处理流向的下一网络子图进行量化,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
第二模型判断模块,用于在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为量化中间层,若为是,触发数据转换模块;
所述数据转换模块,用于参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,并基于所述输出数据对沿所述数据处理流向的下一网络子图进行推理。
本申请的一个实施例中,所述装置还包括第三模型判断模块,具体用于:
在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为第一类网络子图;
若为是,按照用户配置的推理信息,基于所述待推理数据,对所述第一类网络子图进行推理。
第五方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
第六方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第二方面任一所述的方法步骤。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面任一所述的方法步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的网络模型量化方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的网络模型推理方法。
本申请实施例有益效果:
应用本申请实施例提供的方案量化网络模型时,首先获得待量化网络模型,其中,待量化网络模型包括量化中间层,量化中间层分别与第一类网络子图的输入端、输出端相连接,量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,量化中间层用于:参考输入量化方式标识对应的输入量化方式对输入数据类型的输入数据进行反量化,得到反量化数据,再按照输出量化方式标识对应的输出量化方式对反量化数据进行量化,输出输出数据类型的输出数据,第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;在沿待量化网络模型的数据处理流向对待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层;若为是,以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿数据处理流向的下一网络子图进行量化;若为否,以模型推理平台支持的量化方式对该当前处理对象进行量化。这样量化后的网络模型中包含量化中间层,在进行模型推理时,可以由网络模型内部的量化中间层对采用不同量化方式的网络子图之间的交互数据进行类型转换,无需网络子图与网络模型外部的单元进行数据交互,也无需将交互数据转化为固定数据类型的数据,从而减小对交互数据进行类型转换时带来的时长消耗。由此可见,应用本申请实施例提供的网络模型量化方案,可以提高对量化后的模型进行模型推理时的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种网络模型量化方法的流程示意图;
图2a和图2b为本申请实施例提供的第一种量化中间层的位置示意图;
图3a和图3b为本申请实施例提供的第二种量化中间层的位置示意图;
图4a和图4b为本申请实施例提供的第三种量化中间层的位置示意图;
图5为本申请实施例提供的一种网络模型推理方法的流程示意图;
图6为本申请实施例提供的一种网络模型量化装置的结构示意图;
图7为本申请实施例提供的一种网络模型推理装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为提高对量化后的模型进行模型推理时的效率,本申请实施例提供了一种网络模型量化方法、装置、电子设备及存储介质。相对应地,本申请实施例还提供了一种网络模型推理方法、装置、电子设备及存储介质,下面分别进行详细介绍。
参见图1,图1为本申请提供的一种网络模型量化方法的流程示意图,该方法包括如下步骤101至步骤104。
步骤101,获得待量化网络模型。
其中,上述待量化网络模型可以是深度神经网络模型、循环神经网络模型、卷积神经网络模型等。
待量化网络模型中包括量化中间层。其中,量化中间层是一种预先设定的带有量化功能的特殊网络层,当网络出现用户采用第三方量化方案的网络子图时,起到量化过渡的功能。量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型。量化中间层可以用于参考输入量化方式标识对应的输入量化方式对输入数据类型的输入数据进行反量化,得到反量化数据,再按照输出量化方式标识对应的输出量化方式对反量化数据进行量化,输出输出数据类型的输出数据。
上述量化方式可以是线性量化方式、比特位量化方式、权重量化方式、权重量化方式、权重激活量化方式等。量化方式标识可以是预设的数字编号、英文字母等。输入量化方式标识为:对沿数据处理流向的上一网络子图进行量化时需要采用的量化方式,输出量化方式标识用于指示:按照量化方式标识对应的量化方式、对沿数据处理流向的下一网络子图进行量化。上述输入量化方式、输出量化方式可以是用户配置的量化方式,也可以是本地支持的量化方式。需要说明的是,量化方式标识也可以指示:不对下一网络子图进行量化。
输入数据类型指:量化中间层所支持的输入数据的类型,例如,可以是整型、长整型、单精度浮点型等。根据输入数据类型可以确定量化中间层所支持的输入数据的位宽,例如,在输入数据类型为整型的情况下,量化中间层所支持的数据数据的位宽为8bit。
输出数据类型指:量化中间层对输入数据进行处理后,所输出的输出数据的类型,例如,可以是整型、长整型、单精度浮点型等。根据输出数据类型可以确定量化中间层输出的输出数据的位宽。
具体的,量化中间层可以接收上一网络子图输出的、满足上述输入数据类型的输入数据,并根据输入量化方式标识指示的输入量化方式对输入数据进行反量化,从而得到反量化数据。再按照输出量化方式标识对应的输出量化方式,对上述反量化数据进行量化,输出满足上述输出数据类型的输出数据,并送至下一网络子图。这样在模型推理时,量化中间层可以对输入数据进行反量化处理,再对反量化数据按照输出量化方式进行量化,无需将交互数据转化为固定数据类型的数据,可以减少数据交互操作,进而减少对运算资源的消耗。而且可以使得下一网络子图直接对上述输出数据进行处理,提高数据处理效率。
除此之外,量化中间层的参数中还可以包括:所支持的输入数据的数据排布方式、内存信息等,以及量化中间层对输入数据进行处理后,所输出的输出数据的数据排布方式、内存信息等。其中,数据排布方式可以是集中分布、独立分布等。内存信息可以表征数据所占用的内存大小。量化中间层的参数中还可以包括输入量化系数,输入量化系数可以表征:输入量化方式所采用的量化系数,根据输入量化系数可以实现对输入数据的反量化。这样量化中间层可以对所连接的第一类网络子图和第二类网络子图之间的交互数据进行转换,包括对交互数据的量化方式、数据类型、数据排布方式等统一进行转换,无需额外由模型推理平台的数据转换单元对上述交互数据进行转换,可以减少数据转换单元对交互数据进行转换带来的资源消耗,提高数据转换效率。
量化中间层分别与第一类网络子图的输入端、输出端相连接,也就是,量化中间层分别位于第一类网络子图的输入端侧和输出端侧,位于第一类网络子图输入端侧的量化中间层与第一类网络子图的输入端相连接,位于第一类网络子图输出端侧的量化中间层与第一类网络子图的输出端相连接。量化中间层以网络层的形式加入网络模型,可以用于对第一类网络子图、第二类网络子图之间的交互数据进行转换,并指示所连接的第一类网络子图对应的量化方式,而不对交互数据进行额外的运算,不改变网络模型的数据处理逻辑,这样在对网络模型进行推理时,不会影响模型推理的准确度。
其中,第一类网络子图为:需要采用第三方量化方式进行量化的网络子图每一网络子图包括网络模型中连续的、且需要采用相同量化方式进行量化的网络层。第三方量化方式指模型推理平台不支持的量化方式,例如,可以是用户自定义的量化方式,也可以是第三方平台提供的量化方式等。其中,模型推理平台支持的量化方式与进行模型量化时本地已有的量化方式相同,因此模型推理平台支持的量化方式也可以理解为本地量化方式。第一类网络子图所包含的网络层通常是用户自定义的私有网络层,私有网络层通常是由基础的算法组合得到的新的类型的网络层,私有网络层的量化方式可以由用户进行配置。与第一类网络子图相对应地,第二类网络子图为:需要采用模型推理平台支持的量化方式进行量化的网络子图。第二类网络子图包含的网络层通常是模型推理平台支持进行推理的支持网络层,如卷积层、全连接层等。
例如,假设网络模型包括5个网络层,其中,第一个网络层至第五各网络层依次连接,第一个网络层和第二个网络层需要采用本地量化方式A1进行量化,第三个网络层和第四个网络层需要采用第三方量化方式B1进行量化,第五个网络层需要采用本地量化方式A2进行量化,则可以将第一个网络层和第二个网络层作为一第二类网络子图,将第三个网络层和第四个网络层作为一第一类网络子图,将第五个网络层作为另一第二类网络子图。
参见图2a和图2b,图2a和图2b为本申请实施例提供的第一种量化中间层的位置示意图。图2a为本申请实施例提供的第一种原始网络模型的结构示意图。每一网络子图中标识“In”所在的一端为输入端,标识“Out”所在的一端为输出端。可见,该原始网络模型中包括两个第二类网络子图和一个第一类网络子图,第一类网络子图位于两个第二类网络子图之间,因此需要在第一类网络子图的输入端和输出端分别添加一个量化中间层,从而可以得到图2b所示的添加量化中间层后的网络模型结构。
当量化中间层的下一网络子图为第一类网络子图时,量化中间层参数中携带的量化方式标识为第三方量化方式的标识;当量化中间层的下一网络子图为第二类网络子图时,量化中间层参数中携带的量化方式标识为本地量化方式的标识。
本申请的一个实施例中,可以是生成网络模型时,直接在网络模型中添加网络中间层。用户可以通过修改模型文件,实现在网络模型中添加量化中间层。还可以利用中转层添加工具,在第一类网络子图的输入端和输出端分别添加量化中间层。
步骤102,在沿待量化网络模型的数据处理流向对待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层,若为是,执行步骤103,若为否,执行步骤104。
其中,上述当前处理对象可以是量化中间层,也可以是第一类网络子图、第二类网络子图。上述数据处理流向指:网络模型对数据进行处理的顺序所指示的方向。
具体的,在对待量化网络模型进行量化时,可以按照数据处理流向的顺序,依次对待量化网络模型的各个网络子图进行量化。在量化过程中,可以对当前处理对象进行判断。
本申请的一个实施例中,可以在添加量化中间层时,预先对所添加的量化中间层进行标记,这样在模型量化时,当检测到带有上述标记的网络层时,则可以将该网络层作为量化中间层。
本申请的另一实施例中,可以预先获得量化中间层在待量化网络模型中所处的参考位置,这样可以判断当前处理对象的位置是否属于上述参考位置,若为是,则可以将当前处理对象作为量化中间层。
步骤103,以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿数据处理流向的下一网络子图进行量化。
具体的,若检测到当前处理对象为量化中间层,则可以识别量化中间层的参数中携带的输出量化方式标识,然后选择所识别到的标识对应的输出量化方式,对沿数据处理流向的下一网络子图进行量化。
其中,当量化中间层的下一网络子图为第一类网络子图时,量化中间层参数中携带的输出量化方式标识为第三方量化方式的标识,因此可以采用上述量化方式标识指示的第三方量化方式对下一网络子图进行量化;
当量化中间层的下一网络子图为第二类网络子图时,量化中间层参数中携带的输出量化方式标识为本地量化方式的标识,因此可以采用上述量化方式标识指示的本地量化方式对下一网络子图进行量化。
步骤104,以模型推理平台支持的量化方式对该当前处理对象进行量化。
具体的,可以预先获得用户指定的、模型推理平台支持的、对第二类网络子图进行量化的量化方式。若检测到当前处理对象不为量化中间层,则可以按照上述预设的量化方式对当前处理对象进行量化。由于第二类网络子图所采用的量化方式可以是本地已有的量化方式,因此在对当前处理对象进行量化时,可以直接从本地获得预设的量化方式,对当前处理对象进行量化。
应用上述实施例提供的方案量化网络模型时,首先获得待量化网络模型,其中,待量化网络模型包括量化中间层,量化中间层分别与第一类网络子图的输入端、输出端相连接,量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,量化中间层用于:参考输入量化方式标识对应的输入量化方式对输入数据类型的输入数据进行反量化,得到反量化数据,再按照输出量化方式标识对应的输出量化方式对反量化数据进行量化,输出输出数据类型的输出数据,第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;在沿待量化网络模型的数据处理流向对待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层;若为是,以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿数据处理流向的下一网络子图进行量化;若为否,以模型推理平台支持的量化方式对该当前处理对象进行量化。这样量化后的网络模型中包含量化中间层,在进行模型推理时,可以由网络模型内部的量化中间层对采用不同量化方式的网络子图之间的交互数据进行类型转换,无需网络子图与网络模型外部的单元进行数据交互,也无需将交互数据转化为固定数据类型的数据,从而减小对交互数据进行类型转换时带来的时长消耗。由此可见,应用上述实施例提供的网络模型量化方案,可以提高对量化后的模型进行模型推理时的效率。
本申请的一个实施例中,对于上述步骤101,在获得待量化网络模型时,可以首先获得原始网络模型,检测原始网络模型中需要采用第三方量化方式进行量化的网络子图,作为第一类网络子图,分别在检测到的第一类网络子图的输入端与输出端添加量化中间层,针对每一量化中间层,根据该量化中间层所连接的网络子图的量化信息,对该量化中间层的参数进行设定,得到待量化网络模型。
其中,上述量化信息可以包括量化中间层所连接的网络子图采用的量化方式、输入或输出的数据的类型等。
具体的,可以首先获得原始网络模型,上述原始网络模型为不包括量化中间层的网络模型。针对原始网络模型,可以检测模型中包含的第一类网络子图,并在检测到的第一类网络子图的输入端和输出端分别添加量化中间层。然后根据所添加的量化中间层所连接的网络子图的量化信息,对该量化中间层的参数进行设定。具体可以根据沿数据处理流向量化中间层所连接的上一网络子图所采用的量化方式,确定量化中间层参数中的输入量化方式标识,根据量化中间层所连接的下一网络子图所采用的量化方式,确定量化中间层参数中的输出量化方式标识。根据上一网络子图输出的数据的类型,确定量化中间层参数中的输入数据类型,根据下一网络子图所能接受的数据的类型,确定量化中间层参数中的输出数据类型。
本申请的一个实施例中,待量化网络模型中量化中间层所处的位置可以包括如下两种情况。
情况一,针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与一个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与一个第二类网络子图之间。
具体的,量化中间层可以用于将输入数据类型的输入数据转换为输出数据类型的输出数据,而每一第一类网络子图所采用的第三方量化方式可能并不相同,因此,在一第一类网络子图的输入端或输出端与一第二类网络子图连接的情况下,需要在每一第一类网络子图的输入端或输出端与相连接的第二类网络子图之间添加一量化中间层,这样便于实现各个第一类网络子图与相连接的第二类网络子图之间的数据交互。
参见图3a和图3b,图3a和图3b为本申请实施例提供的第二种量化中间层的位置示意图。图3a为本申请实施例提供的第二种原始网络模型的结构示意图。可见,该原始网络模型中包括四个第二类网络子图和两个第一类网络子图,其中一个第二类网络子图的输出端分别与两个第一类网络子图、一个第二类网络子图的输入端相连接,两个第一类网络子图的输出端又分别与两个第二类网络子图的输入端相连接。针对两个第一类网络子图,需要分别在两个第一类网络子图的输入端和输出端添加一量化中间层,从而可以得到图3b所示的添加量化中间层后的网络模型结构。
情况二,针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与多个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与多个第二类网络子图之间。
具体的,各个第二类网络子图所采用的量化方式相同,量化后各个第二类网络子图所支持的数据类型也是相同的,因此,在一个第一类网络子图的输入端或输出端与多个第二类网络子图相连接的情况下,可以由一个量化中间层对各个第二类网络子图输入该第一类网络子图的数据进行转换,再由一个量化中间层对该第一类网络子图输出的数据进行转换,将转换后的数据输入各个第二类网络子图。
参见图4a和图4b,图4a和图4b为本申请实施例提供的第三种量化中间层的位置示意图。图4a为本申请实施例提供的第三种原始网络模型的结构示意图。可见,该原始网络模型中包括四个第二类网络子图和两个第一类网络子图,其中一个第一类网络子图的输入端与一个第二类网络子图相连接,输出端分别与两个第二类网络子图、一个第一类网络子图的输入端相连接,另一第一类网络子图的输出端又与一个第二类网络子图的输入端相连接。根据上述情况二所示方案,需要在一个第一类网络子图的输出端与两个第二类网络子图的输入端添加一量化中间层,并在一个第一类网络子图的输入端添加一量化中间层,在另一个第一类网络子图的输出端添加一量化中间层,从而可以得到图4b所示的添加量化中间层后的网络模型结构。
本申请的一个实施例中,在确定第一类网络子图时,可以将原始网络模型拓扑为有向无环图,在所得到的有向无环图中选择由连续的、需要采用同一第三方量化方案进行量化的网络层构成的有向无环图,作为第一类网络子图。
本申请的一个实施例中,第一类网络子图可以为:需要采用模型推理平台不支持的量化方式进行量化的网络子图。
具体的,可以预先获得模型推理平台所支持的量化方式,在确定第一类网络子图时,可以依次对原始网络模型中各个网络子图所需要的量化方式进行识别,当识别到网络子图所需的量化方式不属于上述预先获得的量化方式时,说明该网络子图所需的量化方式为模型推理平台不支持的量化方式,因此可以将该网络子图作为第一类网络子图。
除此之外,第一类网络子图也可以为:需要采用本地不支持的量化方式进行量化的网络子图。
具体的,可以预先获得本地所支持的量化方式,在确定第一类网络子图时,可以依次对原始网络模型中各个网络子图所需要的量化方式进行识别,当识别到网络子图所需的量化方式不属于上述预先获得的量化方式时,说明该网络子图所需的量化方式为本地不支持的量化方式,因此可以将该网络子图作为第一类网络子图。
本申请的另一实施例中,第一类网络子图可以为:包含本地不支持进行量化的网络层的网络子图。
具体的,可以预先获得本地支持进行量化的网络层,如卷积层、池化层、激活层等。若网络子图所包含的网络层均为本地支持进行量化的网络层,则可以将该网络子图作为第二类网络子图,若网络子图所包含的网络层中存在本地不支持进行量化的网络层,则可以将该网络子图作为第一类网络子图。
本申请的又一个实施例中,第一类网络子图还可以为:用户指定的需要采用第三方量化方式进行量化的网络子图。具体的,可以直接获得用户指定需要采用第三方量化方式的网络子图,作为第一类网络子图。
本申请的一个实施例中,对于上述步骤103,在对下一网络子图进行量化时,可以识别量化中间层参数中包括的输出量化方式标识,从用户配置的量化方式和本地支持的量化方式中,查找所识别出的输出量化方式标识对应的输出量化方式,按照查找到的输出量化方式对沿数据处理流向的下一网络子图进行量化。
具体的,由于待量化网络模型所需要的量化方式中,存在本地不支持的量化方式,因此需要预先获得用户配置的量化方式,这样在针对沿数据处理流向量化中间层的下一网络子图进行量化时,可以根据量化中间层参数中携带的输出量化方式标识,从用户配置的量化方式和本地已有的量化方式中,查找该输出量化方式标识对应的输出量化方式,并按照所查找的输出量化方式对下一网络子图进行量化。
其中,若该输出量化方式标识所指定的输出量化方式为第三方量化方式,则可以从用户配置的量化方式中查找该输出量化方式标识对应的输出量化方式;若该输出量化方式标识所指定的输出量化方式为本地支持的量化方式,则可以从本地量化方式中查找该输出量化方式标识对应的输出量化方式。
本申请的一个实施例中,可以预先获得原始网络模型,在原始网络模型的第一类网络子图的输出端和输出端添加量化中间层,然后针对添加了量化中间层的原始网络模型进行模型量化。还可以预先获得原始网络模型,在对原始网络模型进行量化过程中,当检测到存在需要采用第三方量化方式进行量化的第一类网络子图时,再将量化中间层添加至第一类网络子图的输入端和输出端。
本申请的一个实施例中,量化中间层的参数可以是用户直接根据经验设定的,也可以是通过识别量化中间层所连接的网络子图之间的量化信息进行设定的。
应用上述实施例提供的方案量化网络模型时,首先获得待量化网络模型,其中,待量化网络模型包括量化中间层,量化中间层分别与第一类网络子图的输入端、输出端相连接,量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,量化中间层用于:参考输入量化方式标识对应的输入量化方式对输入数据类型的输入数据进行反量化,得到反量化数据,再按照输出量化方式标识对应的输出量化方式对反量化数据进行量化,输出输出数据类型的输出数据,第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;在沿待量化网络模型的数据处理流向对待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层;若为是,以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿数据处理流向的下一网络子图进行量化;若为否,以模型推理平台支持的量化方式对该当前处理对象进行量化。这样量化后的网络模型中包含量化中间层,在进行模型推理时,可以由网络模型内部的量化中间层对采用不同量化方式的网络子图之间的交互数据进行类型转换,无需网络子图与网络模型外部的单元进行数据交互,也无需将交互数据转化为固定数据类型的数据,从而减小对交互数据进行类型转换时带来的时长消耗。由此可见,应用上述实施例提供的网络模型量化方案,可以提高对量化后的模型进行模型推理时的效率。
与上述网络模型量化方法相对应地,本申请实施例还提供了一种网络模型推理方法,参见图5,图5为本申请实施例提供的一种网络模型推理方法的流程示意图,该方法包括如下步骤501至步骤503。
步骤501,获得待推理网络模型。
其中,待推理网络模型为:对待量化网络模型进行量化得到的模型,待量化网络模型包括量化中间层,量化中间层分别与第一类网络子图的输入端、输出端相连接,量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,量化中间层用于指示:按照输出量化方式标识对应的输出量化方式、对沿待量化网络模型的数据处理流向的下一网络子图进行量化,第一类网络子图为:需要采用第三方量化方式进行量化的网络子图。
具体的,上述待推理模型为采用上述模型量化方案量化得到的网络模型,待推理网络模型的结构、待量化网络模型的量化方式等在此不作赘述。
步骤502,在基于待推理数据、沿数据处理流向进行推理的过程中,判断当前推理对象是否为量化中间层,若为是,则执行步骤503。
其中,上述当前推理对象可以是量化中间层,也可以是第一类网络子图、第二类网络子图。
具体的,可以预先获得待推理数据,然后沿数据处理流向,基于所获得的待推理数据对待推理网络模型进行推理。在推理过程中,若检测到当前推理对象为量化中间层,则可以执行步骤503。在对待推理网络模型进行推理时,可以利用模型推理平台中的推理框架对待推理网络模型进行推理。
若当前推理对象不为量化中间层,则可以按照预设的推理方式,基于所获得的待推理数据,对当前网络子图进行推理。
本申请的一个实施例中,在预先对所添加的量化中间层做标记的情况下,在模型推理过程中,当检测到带有上述标记的网络层时,则可以认为检测到量化中间层。
步骤503,参考输入量化方式标识对应的输入量化方式对输入数据类型的输入数据进行反量化,得到反量化数据,再按照输出量化方式标识对应的输出量化方式对反量化数据进行量化,输出输出数据类型的输出数据,并基于输出数据对沿数据处理流向的下一网络子图进行推理。
具体的,在进行模型推理时,量化中间层可以接收上一网络子图输出的、满足上述输入数据类型的输入数据,并根据输入量化方式标识指示的输入量化方式对输入数据进行反量化,从而得到反量化数据。再按照输出量化方式标识对应的输出量化方式,对上述反量化数据进行量化,输出满足上述输出数据类型的输出数据,并送至下一网络子图。量化中间层可以对输入数据进行反量化处理,再对反量化数据按照输出量化方式进行量化,得到的输出数据准确度更高,而且这样可以使得下一网络子图直接对上述输出数据进行处理,提高数据处理效率。量化中间层在对输入数据进行反量化时,可以根据输入量化方式标识确定对输入数据进行量化时采用的输入量化方式,进而确定对输入数据进行量化时采用的量化系数,根据所确定的量化系数对输入数据进行反量化。
应用上述实施例提供的网络模型推理方案在进行模型推理时,可以由网络模型内部的量化中间层对采用不同量化方式的网络子图之间的交互数据进行类型转换,无需网络子图与网络模型外部的单元进行数据交互,也无需将交互数据转化为固定数据类型的数据,从而减小对交互数据进行类型转换时带来的时长消耗。由此可见,应用上述实施例提供的网络模型量化方案,可以提高对量化后的模型进行模型推理时的效率。
本申请的一个实施例中,针对上述步骤502,在进行模型推理时,可以识别待推理网络模型的各个网络子图所采用的量化方式,从识别出的量化方式中选择模型推理平台所支持的量化方式,并按照所选择的量化方式对待推理数据进行量化,然后在基于量化后的待推理数据、沿数据处理流向进行推理的过程中,判断当前推理对象是否为量化中间层。
具体的,待推理网络模型为量化后的网络模型,通过识别待推理网络模型所采用的量化方式,并按照所识别的方式对待推理数据进行量化,这样可以将量化后的待推理数据输入上述待推理网络模型,实现对待推理网络模型的推理。
本申请的一个实施例中,在对原始网络模型进行量化时,可以在各个网络子图上标记该网络子图所采用的量化方式,这样在识别待推理网络模型各个网络子图所采用的量化方式时,可以通过识别各个网络子图所携带的标记,确定各个网络子图所采用的量化方式。
本申请的一个实施例中,在基于待推理数据、沿数据处理流向进行推理的过程中,还可以判断当前推理对象是否为第一类网络子图,若为是,按照用户配置的推理信息,基于待推理数据,对第一类网络子图进行推理。
具体的,由于待推理网络模型在进行网络量化时,所采用的量化方式中,存在模型推理平台不支持的量化方式,因此需要预先获得用户配置的推理信息,上述推理信息中包含推理第一类网络子图时所需要用到的公式、函数等。这样在对第一类网络子图进行推理时,可以参照上述推理信息对该第一类网络子图进行推理。
参见图6,图6为本申请实施例提供的一种网络模型量化装置的结构示意图,所述装置包括:
第一模型获得模块601,用于获得待量化网络模型,其中,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于:参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
第一模型判断模块602,用于在沿所述待量化网络模型的数据处理流向对所述待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层,若为是,触发第一模型量化模块,若为否,触发第二模型量化模块;
所述第一模型量化模块603,用于以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿所述数据处理流向的下一网络子图进行量化;
所述第二模型量化模块604用于以模型推理平台支持的量化方式对该当前处理对象进行量化。
本申请的一个实施例中,所述第一模型获得模块601,具体用于:
获得原始网络模型;
检测所述原始网络模型中需要采用第三方量化方式进行量化的网络子图,作为第一类网络子图;
分别在检测到的第一类网络子图的输入端与输出端添加量化中间层,针对每一量化中间层,根据该量化中间层所连接的网络子图的量化信息,对该量化中间层的参数进行设定,得到待量化网络模型。
本申请的一个实施例中,
针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与一个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述一个第二类网络子图之间,其中,所述第二类网络子图为:需要采用所述模型推理平台支持的量化方式进行量化的网络子图;和/或
针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与多个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述多个第二类网络子图之间。
本申请的一个实施例中,
所述第一类网络子图为:需要采用所述模型推理平台不支持的量化方式进行量化的网络子图;和/或
所述第一类网络子图为:包含本地不支持进行量化的网络层的网络子图;和/或
所述第一类网络子图为:用户指定的需要采用第三方量化方式进行量化的网络子图。
本申请的一个实施例中,所述第一模型量化模块603,具体用于:
识别量化中间层参数中包括的输出量化方式标识;
从用户配置的量化方式和本地支持的量化方式中,查找所识别出的输出量化方式标识对应的输出量化方式,按照查找到的输出量化方式对沿所述数据处理流向的下一网络子图进行量化。
应用上述实施例提供的方案量化网络模型时,量化后的网络模型中包含量化中间层,在进行模型推理时,可以由网络模型内部的量化中间层对采用不同量化方式的网络子图之间的交互数据进行类型转换,无需网络子图与网络模型外部的单元进行数据交互,也无需将交互数据转化为固定数据类型的数据,从而减小对交互数据进行类型转换时带来的时长消耗。由此可见,应用上述实施例提供的网络模型量化方案,可以提高对量化后的模型进行模型推理时的效率。
参见图7,图7为本申请实施例提供的一种网络模型推理装置的结构示意图,所述装置包括:
第二模型获得模块701,用于获得待推理网络模型,其中,所述待推理网络模型为:对待量化网络模型进行量化得到的模型,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于指示:按照所述输出量化方式标识对应的输出量化方式、对沿所述待量化网络模型的数据处理流向的下一网络子图进行量化,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
第二模型判断模块702,用于在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为量化中间层,若为是,触发数据转换模块;
所述数据转换模块703,用于参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,并基于所述输出数据对沿所述数据处理流向的下一网络子图进行推理。
本申请的一个实施例中,所述装置还包括第三模型判断模块,具体用于:
在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为第一类网络子图;
若为是,按照用户配置的推理信息,基于所述待推理数据,对所述第一类网络子图进行推理。
应用上述实施例提供的网络模型推理方案在进行模型推理时,可以由网络模型内部的量化中间层对采用不同量化方式的网络子图之间的交互数据进行类型转换,无需网络子图与网络模型外部的单元进行数据交互,也无需将交互数据转化为固定数据类型的数据,从而减小对交互数据进行类型转换时带来的时长消耗。由此可见,应用上述实施例提供的网络模型量化方案,可以提高对量化后的模型进行模型推理时的效率。
本申请实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现上述网络模型量化方法。
本申请实施例还提供了另一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述网络模型推理方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一网络模型量化、推理方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一网络模型量化、推理方法。
应用上述实施例提供的方案量化网络模型时,首先获得待量化网络模型,其中,待量化网络模型包括量化中间层,量化中间层分别与第一类网络子图的输入端、输出端相连接,量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,量化中间层用于:参考输入量化方式标识对应的输入量化方式对输入数据类型的输入数据进行反量化,得到反量化数据,再按照输出量化方式标识对应的输出量化方式对反量化数据进行量化,输出输出数据类型的输出数据,第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;在沿待量化网络模型的数据处理流向对待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层;若为是,以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿数据处理流向的下一网络子图进行量化;若为否,以模型推理平台支持的量化方式对该当前处理对象进行量化。这样量化后的网络模型中包含量化中间层,在进行模型推理时,可以由网络模型内部的量化中间层对采用不同量化方式的网络子图之间的交互数据进行类型转换,无需网络子图与网络模型外部的单元进行数据交互,也无需将交互数据转化为固定数据类型的数据,从而减小对交互数据进行类型转换时带来的时长消耗。由此可见,应用上述实施例提供的网络模型量化方案,可以提高对量化后的模型进行模型推理时的效率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (18)

1.一种网络模型量化方法,其特征在于,所述方法包括:
获得待量化网络模型,其中,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于:参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
在沿所述待量化网络模型的数据处理流向对所述待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层;
若为是,以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿所述数据处理流向的下一网络子图进行量化;
若为否,以模型推理平台支持的量化方式对该当前处理对象进行量化。
2.根据权利要求1所述的方法,其特征在于,所述获得待量化网络模型,包括:
获得原始网络模型;
检测所述原始网络模型中需要采用第三方量化方式进行量化的网络子图,作为第一类网络子图;
分别在检测到的第一类网络子图的输入端与输出端添加量化中间层,针对每一量化中间层,根据该量化中间层所连接的网络子图的量化信息,对该量化中间层的参数进行设定,得到待量化网络模型。
3.根据权利要求1所述的方法,其特征在于,
针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与一个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述一个第二类网络子图之间,其中,所述第二类网络子图为:需要采用所述模型推理平台支持的量化方式进行量化的网络子图;和/或
针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与多个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述多个第二类网络子图之间。
4.根据权利要求1所述的方法,其特征在于,
所述第一类网络子图为:需要采用所述模型推理平台不支持的量化方式进行量化的网络子图;和/或
所述第一类网络子图为:包含本地不支持进行量化的网络层的网络子图;和/或
所述第一类网络子图为:用户指定的需要采用第三方量化方式进行量化的网络子图。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿所述数据处理流向的下一网络子图进行量化,包括:
识别量化中间层参数中包括的输出量化方式标识;
从用户配置的量化方式和本地支持的量化方式中,查找所识别出的输出量化方式标识对应的输出量化方式,按照查找到的输出量化方式对沿所述数据处理流向的下一网络子图进行量化。
6.一种网络模型推理方法,其特征在于,所述方法包括:
获得待推理网络模型,其中,所述待推理网络模型为:对待量化网络模型进行量化得到的模型,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于指示:按照所述输出量化方式标识对应的输出量化方式、对沿所述待量化网络模型的数据处理流向的下一网络子图进行量化,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为量化中间层;
若为是,参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,并基于所述输出数据对沿所述数据处理流向的下一网络子图进行推理。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为第一类网络子图;
若为是,按照用户配置的推理信息,基于所述待推理数据,对所述第一类网络子图进行推理。
8.一种网络模型量化装置,其特征在于,所述装置包括:
第一模型获得模块,用于获得待量化网络模型,其中,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于:参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
第一模型判断模块,用于在沿所述待量化网络模型的数据处理流向对所述待量化网络模型进行量化的过程中,判断当前处理对象是否为量化中间层,若为是,触发第一模型量化模块,若为否,触发第二模型量化模块;
所述第一模型量化模块,用于以量化中间层参数中输出量化方式标识所指示的输出量化方式,对沿所述数据处理流向的下一网络子图进行量化;
所述第二模型量化模块,用于以模型推理平台支持的量化方式对该当前处理对象进行量化。
9.根据权利要求8所述的装置,其特征在于,所述第一模型获得模块,具体用于:
获得原始网络模型;
检测所述原始网络模型中需要采用第三方量化方式进行量化的网络子图,作为第一类网络子图;
分别在检测到的第一类网络子图的输入端与输出端添加量化中间层,针对每一量化中间层,根据该量化中间层所连接的网络子图的量化信息,对该量化中间层的参数进行设定,得到待量化网络模型。
10.根据权利要求8所述的装置,其特征在于,
针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与一个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述一个第二类网络子图之间,其中,所述第二类网络子图为:需要采用所述模型推理平台支持的量化方式进行量化的网络子图;和/或
针对每一第一类网络子图,在该第一类网络子图的输入端或输出端与多个第二类网络子图连接的情况下,一量化中间层位于:该第一类网络子图的输入端或输出端与所述多个第二类网络子图之间。
11.根据权利要求8所述的装置,其特征在于,
所述第一类网络子图为:需要采用所述模型推理平台不支持的量化方式进行量化的网络子图;和/或
所述第一类网络子图为:包含本地不支持进行量化的网络层的网络子图;和/或
所述第一类网络子图为:用户指定的需要采用第三方量化方式进行量化的网络子图。
12.根据权利要求8-11中任一项所述的装置,其特征在于,所述第一模型量化模块,具体用于:
识别量化中间层参数中包括的输出量化方式标识;
从用户配置的量化方式和本地支持的量化方式中,查找所识别出的输出量化方式标识对应的输出量化方式,按照查找到的输出量化方式对沿所述数据处理流向的下一网络子图进行量化。
13.一种网络模型推理装置,其特征在于,所述装置包括:
第二模型获得模块,用于获得待推理网络模型,其中,其中,所述待推理网络模型为:对待量化网络模型进行量化得到的模型,所述待量化网络模型包括量化中间层,所述量化中间层分别与第一类网络子图的输入端、输出端相连接,所述量化中间层的参数包括:输入量化方式标识、输出量化方式标识、输入数据类型和输出数据类型,所述量化中间层用于指示:按照所述输出量化方式标识对应的输出量化方式、对沿所述待量化网络模型的数据处理流向的下一网络子图进行量化,所述第一类网络子图为:需要采用第三方量化方式进行量化的网络子图;
第二模型判断模块,用于在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为量化中间层,若为是,触发数据转换模块;
所述数据转换模块,用于参考所述输入量化方式标识对应的输入量化方式对所述输入数据类型的输入数据进行反量化,得到反量化数据,再按照所述输出量化方式标识对应的输出量化方式对所述反量化数据进行量化,输出所述输出数据类型的输出数据,并基于所述输出数据对沿所述数据处理流向的下一网络子图进行推理。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括第三模型判断模块,具体用于:
在基于待推理数据、沿所述数据处理流向进行推理的过程中,判断当前推理对象是否为第一类网络子图;
若为是,按照用户配置的推理信息,基于所述待推理数据,对所述第一类网络子图进行推理。
15.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
16.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求6-7任一所述的方法步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求6-7任一所述的方法步骤。
CN202010521761.7A 2020-06-10 2020-06-10 网络模型量化、推理方法、装置、电子设备及存储介质 Active CN113780513B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010521761.7A CN113780513B (zh) 2020-06-10 2020-06-10 网络模型量化、推理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010521761.7A CN113780513B (zh) 2020-06-10 2020-06-10 网络模型量化、推理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113780513A true CN113780513A (zh) 2021-12-10
CN113780513B CN113780513B (zh) 2024-05-03

Family

ID=78834492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010521761.7A Active CN113780513B (zh) 2020-06-10 2020-06-10 网络模型量化、推理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113780513B (zh)

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180268296A1 (en) * 2016-06-02 2018-09-20 Tencent Technology (Shenzhen) Company Limited Machine learning-based network model building method and apparatus
US20190122100A1 (en) * 2017-10-19 2019-04-25 Samsung Electronics Co., Ltd. Method and apparatus with neural network parameter quantization
CN109918237A (zh) * 2019-04-01 2019-06-21 北京中科寒武纪科技有限公司 异常网络层确定方法及相关产品
CN110020616A (zh) * 2019-03-26 2019-07-16 深兰科技(上海)有限公司 一种目标识别方法及设备
CN110059733A (zh) * 2019-04-01 2019-07-26 苏州科达科技股份有限公司 卷积神经网络的优化及快速目标检测方法、装置
CN110135580A (zh) * 2019-04-26 2019-08-16 华中科技大学 一种卷积网络全整型量化方法及其应用方法
CN110222821A (zh) * 2019-05-30 2019-09-10 浙江大学 基于权重分布的卷积神经网络低位宽量化方法
US20190279072A1 (en) * 2018-03-09 2019-09-12 Canon Kabushiki Kaisha Method and apparatus for optimizing and applying multilayer neural network model, and storage medium
JP2019160319A (ja) * 2018-03-09 2019-09-19 キヤノン株式会社 多階層ニューラルネットワークモデルを最適化して適用する方法及び装置、及び記憶媒体
CN110322008A (zh) * 2019-07-10 2019-10-11 杭州嘉楠耘智信息科技有限公司 一种基于残差卷积神经网络的量化处理方法及装置
CN110334802A (zh) * 2019-05-23 2019-10-15 腾讯科技(深圳)有限公司 一种神经网络模型的构建方法、装置、设备及存储介质
WO2019208677A1 (ja) * 2018-04-27 2019-10-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
CN110413255A (zh) * 2018-04-28 2019-11-05 北京深鉴智能科技有限公司 人工神经网络调整方法和装置
CN110414679A (zh) * 2019-08-02 2019-11-05 厦门美图之家科技有限公司 模型训练方法、装置、电子设备和计算机可读存储介质
US20190347550A1 (en) * 2018-05-14 2019-11-14 Samsung Electronics Co., Ltd. Method and apparatus with neural network parameter quantization
CN110555450A (zh) * 2018-05-31 2019-12-10 北京深鉴智能科技有限公司 人脸识别神经网络调整方法和装置
CN110555508A (zh) * 2018-05-31 2019-12-10 北京深鉴智能科技有限公司 人工神经网络调整方法和装置
WO2019238029A1 (zh) * 2018-06-12 2019-12-19 华为技术有限公司 卷积神经网络系统和卷积神经网络量化的方法
CN110874625A (zh) * 2018-08-31 2020-03-10 杭州海康威视数字技术股份有限公司 一种深度神经网络量化方法及装置
CN110874627A (zh) * 2018-09-04 2020-03-10 华为技术有限公司 数据处理方法、数据处理装置及计算机可读介质
CN110889503A (zh) * 2019-11-26 2020-03-17 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
WO2020057000A1 (zh) * 2018-09-19 2020-03-26 深圳云天励飞技术有限公司 网络量化方法、业务处理方法及相关产品
CN111162946A (zh) * 2019-12-30 2020-05-15 北京奇艺世纪科技有限公司 构建模型推理网络的方法、数据处理方法、装置和存储介质
CN111210017A (zh) * 2019-12-24 2020-05-29 北京迈格威科技有限公司 确定布局顺序及数据处理的方法、装置、设备及存储介质
CN111222637A (zh) * 2020-01-17 2020-06-02 上海商汤智能科技有限公司 神经网络模型部署方法及装置、电子设备和存储介质

Patent Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180268296A1 (en) * 2016-06-02 2018-09-20 Tencent Technology (Shenzhen) Company Limited Machine learning-based network model building method and apparatus
US20190122100A1 (en) * 2017-10-19 2019-04-25 Samsung Electronics Co., Ltd. Method and apparatus with neural network parameter quantization
US20190279072A1 (en) * 2018-03-09 2019-09-12 Canon Kabushiki Kaisha Method and apparatus for optimizing and applying multilayer neural network model, and storage medium
JP2019160319A (ja) * 2018-03-09 2019-09-19 キヤノン株式会社 多階層ニューラルネットワークモデルを最適化して適用する方法及び装置、及び記憶媒体
WO2019208677A1 (ja) * 2018-04-27 2019-10-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
CN110413255A (zh) * 2018-04-28 2019-11-05 北京深鉴智能科技有限公司 人工神经网络调整方法和装置
US20190347550A1 (en) * 2018-05-14 2019-11-14 Samsung Electronics Co., Ltd. Method and apparatus with neural network parameter quantization
CN110555508A (zh) * 2018-05-31 2019-12-10 北京深鉴智能科技有限公司 人工神经网络调整方法和装置
CN110555450A (zh) * 2018-05-31 2019-12-10 北京深鉴智能科技有限公司 人脸识别神经网络调整方法和装置
WO2019238029A1 (zh) * 2018-06-12 2019-12-19 华为技术有限公司 卷积神经网络系统和卷积神经网络量化的方法
CN110874625A (zh) * 2018-08-31 2020-03-10 杭州海康威视数字技术股份有限公司 一种深度神经网络量化方法及装置
CN110874627A (zh) * 2018-09-04 2020-03-10 华为技术有限公司 数据处理方法、数据处理装置及计算机可读介质
WO2020057000A1 (zh) * 2018-09-19 2020-03-26 深圳云天励飞技术有限公司 网络量化方法、业务处理方法及相关产品
CN110020616A (zh) * 2019-03-26 2019-07-16 深兰科技(上海)有限公司 一种目标识别方法及设备
CN109918237A (zh) * 2019-04-01 2019-06-21 北京中科寒武纪科技有限公司 异常网络层确定方法及相关产品
CN110059733A (zh) * 2019-04-01 2019-07-26 苏州科达科技股份有限公司 卷积神经网络的优化及快速目标检测方法、装置
CN110135580A (zh) * 2019-04-26 2019-08-16 华中科技大学 一种卷积网络全整型量化方法及其应用方法
CN110334802A (zh) * 2019-05-23 2019-10-15 腾讯科技(深圳)有限公司 一种神经网络模型的构建方法、装置、设备及存储介质
CN110222821A (zh) * 2019-05-30 2019-09-10 浙江大学 基于权重分布的卷积神经网络低位宽量化方法
CN110322008A (zh) * 2019-07-10 2019-10-11 杭州嘉楠耘智信息科技有限公司 一种基于残差卷积神经网络的量化处理方法及装置
CN110414679A (zh) * 2019-08-02 2019-11-05 厦门美图之家科技有限公司 模型训练方法、装置、电子设备和计算机可读存储介质
CN110889503A (zh) * 2019-11-26 2020-03-17 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
CN111210017A (zh) * 2019-12-24 2020-05-29 北京迈格威科技有限公司 确定布局顺序及数据处理的方法、装置、设备及存储介质
CN111162946A (zh) * 2019-12-30 2020-05-15 北京奇艺世纪科技有限公司 构建模型推理网络的方法、数据处理方法、装置和存储介质
CN111222637A (zh) * 2020-01-17 2020-06-02 上海商汤智能科技有限公司 神经网络模型部署方法及装置、电子设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SUNG-EN CHANG ET AL: "ILMPQ : An Intra-Layer Multi-Precision Deep Neural Network Quantization framework for FPGA", ARXIV, 30 October 2021 (2021-10-30) *
吕君环等: "基于指数移动平均知识蒸馏的神经网络低比特量化方法", 模式识别与人工智能, 15 December 2021 (2021-12-15) *

Also Published As

Publication number Publication date
CN113780513B (zh) 2024-05-03

Similar Documents

Publication Publication Date Title
US20170308620A1 (en) Making graph pattern queries bounded in big graphs
CN113641833B (zh) 服务需求匹配方法及装置
CN109189395B (zh) 一种数据解析方法及装置
CN114050974B (zh) 一种拓扑准确度的确定方法、装置及计算机可读存储介质
CN111949550A (zh) 自动生成测试数据的方法、装置、设备及存储介质
CN111784401A (zh) 下单率预测方法、装置、设备及可读存储介质
CN111930858A (zh) 一种异质信息网络的表示学习方法、装置及电子设备
CN116560968A (zh) 一种基于机器学习的仿真计算时间预测方法、系统及设备
CN116737373A (zh) 负载均衡方法、装置、计算机设备、存储介质
CN113780513A (zh) 网络模型量化、推理方法、装置、电子设备及存储介质
CN113360300B (zh) 接口调用链路生成方法、装置、设备及可读存储介质
CN114913008A (zh) 基于决策树的债券价值分析方法、装置、设备及存储介质
CN111027318B (zh) 基于大数据的行业分类方法、装置、设备及存储介质
CN109285559B (zh) 角色转换点检测方法及装置、存储介质、电子设备
CN112148902A (zh) 数据处理方法、装置、服务器及存储介质
CN113590721B (zh) 一种区块链地址分类方法和装置
CN113627702B (zh) 业务路径分析方法、装置及计算设备
CN113362097B (zh) 一种用户确定方法和装置
CN113806558B (zh) 问题选择方法、知识图谱构建方法、装置及电子设备
CN111400594B (zh) 一种信息向量确定方法、装置、设备及存储介质
CN108647333A (zh) 一种信息共享方法、装置及设备
CN114065947B (zh) 一种数据访问推测方法、装置、存储介质及电子设备
US11626108B2 (en) Machine learning system for customer utterance intent prediction
CN117931994A (zh) B端自动撰写职位需求的方法
CN113377741A (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