CN110705696B - 神经网络的量化与定点化融合方法及装置 - Google Patents

神经网络的量化与定点化融合方法及装置 Download PDF

Info

Publication number
CN110705696B
CN110705696B CN201910966512.6A CN201910966512A CN110705696B CN 110705696 B CN110705696 B CN 110705696B CN 201910966512 A CN201910966512 A CN 201910966512A CN 110705696 B CN110705696 B CN 110705696B
Authority
CN
China
Prior art keywords
current layer
processing
scale
calculation
quantization
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
Application number
CN201910966512.6A
Other languages
English (en)
Other versions
CN110705696A (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.)
Apollo Intelligent Technology Beijing Co Ltd
Original Assignee
Apollo Intelligent Technology Beijing 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 Apollo Intelligent Technology Beijing Co Ltd filed Critical Apollo Intelligent Technology Beijing Co Ltd
Priority to CN201910966512.6A priority Critical patent/CN110705696B/zh
Publication of CN110705696A publication Critical patent/CN110705696A/zh
Priority to PCT/CN2020/083797 priority patent/WO2021068469A1/zh
Application granted granted Critical
Publication of CN110705696B publication Critical patent/CN110705696B/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
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations 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)
  • Image Analysis (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请公开了神经网络的量化与定点化融合方法、装置、电子设备及存储介质,涉及人工智能领域,尤其是自动驾驶(包括自主泊车)领域。具体实现方案为:对神经网络的当前层的输入数据和权重做量化处理;在当前层中,利用量化处理后的权重对量化处理后的输入数据做计算操作,得到计算操作结果;对预设处理参数进行定点化处理;利用定点化处理后的预设处理参数,对计算操作结果进行后处理操作,得到当前层的输出结果。本申请实施例通过量化处理与定点化处理的融合,明显降低了算子之间的数据传输对带宽的要求,有效降低了加速单元的计算量,充分发挥了加速单元的定点化计算的优势,降低了计算对资源的要求,在节省资源的同时提升了计算效率。

Description

神经网络的量化与定点化融合方法及装置
技术领域
本申请涉及一种信息技术领域,尤其涉及一种涉及人工智能领域,尤其是自动驾驶(包括自主泊车)领域。
背景技术
传统的神经网络的计算基于高bit(比特)的浮点运算,造成大量的计算资源浪费,而且容易过拟合,降低了模型的泛化能力。在神经网络的传统加速方法中,即使采用了低bit的浮点或者整数预算,在处理中间的浮点运算的过程中也会造成精度的浪费,从而导致最终结果在后续过程的使用前做截断操作。这种方式既浪费了精度也降低了计算力。
例如,目前的神经网络在嵌入式平台的推理有如下几种解决方案:(1)选取小型网络。(2)模型剪枝压缩。(3)参数量化。
上述解决方案具有如下缺陷:
方案(1)只能解决简单的任务,适合简单场景,如果任务复杂则需要更为复杂结构的模型,该方法无法满足复杂任务的需求。
方案(2)是将规模较大的网络减少内部分支。该方法看似可以完成简单任务也可以适应复杂任务,但是该方法不适用于高并行度运行的加速单元。由于对网络结构做了调整,在实现并行方面有明显问题,无法发挥出加速单元的加速能力。
方案(3)通常是对参数部分做了量化,在网络加速和运行效率的提升方面不能达到理想的效果。
再如,涉及人工智能领域,尤其是自动驾驶领域,也存在同样的问题。例如,在自主泊车领域的应用场景中,传统的神经网络的计算基于高bit的浮点运算,造成大量的计算资源浪费。或者,在神经网络的传统加速方法中,即使采用了低bit的浮点或者整数预算,在处理中间的浮点运算的过程中造成精度的浪费,既浪费了精度也降低了计算力。
发明内容
本申请实施例提出一种神经网络的量化与定点化融合方法、装置、电子设备及存储介质,以至少解决现有技术中的以上技术问题。
第一方面,本申请实施例提供了一种神经网络的量化与定点化融合方法,包括:
对神经网络的当前层的输入数据和权重做量化处理;
在当前层中,利用量化处理后的权重对量化处理后的输入数据做计算操作,得到计算操作结果;
对预设处理参数进行定点化处理;
利用定点化处理后的预设处理参数,对计算操作结果进行后处理操作,得到当前层的输出结果。
本申请实施例中,通过量化处理与定点化处理的融合,明显降低了算子之间的数据传输对带宽的要求,有效降低了加速单元的计算量,充分发挥了加速单元的定点化计算的优势。同时通过量化处理和定点化处理降低了计算对资源的要求,在节省资源的同时提升了计算效率。
在一种实施方式中,计算操作包括将量化处理后的输入数据与量化处理后的权重相乘;
预设处理参数包括当前层的第一偏置值;
后处理操作包括将计算操作结果与定点化处理后的第一偏置值相加。
本申请实施例中,将用于计算操作的输入数据和权重的量化处理,和用于后处理操作的预设处理参数的定点化处理相融合,从而达到很好的神经网络加速效果。
在一种实施方式中,计算操作包括卷积操作;
预设处理参数包括:当前层的输入数据的量化幅值、当前层的权重的量化幅值、当前层的输出数据的量化幅值、当前层的批量归一化的尺度和当前层的批量归一化的偏置值中的至少一项。
本申请实施例中,在卷积计算流程中将量化处理与定点化处理相融合,利用当前层的输入数据、权重以及输出数据做加速处理,提升了计算效率。
在一种实施方式中,对预设处理参数进行定点化处理,包括:
对至少两个预设处理参数进行融合计算,得到当前层的尺度值和当前层的第二偏置值。
本申请实施例中,将预设处理参数进行融合计算,得到的融合计算的结果可作为后续的定点化处理的数据依据,通过定点化可以提高加速单元的有效算力。
在一种实施方式中,后处理操作包括:将计算操作结果与当前层的尺度值相乘之后,再与当前层的第二偏置值相加。
本申请实施例中,利用定点化处理后的融合计算的结果做后处理操作,使量化处理和定点化处理相融合,在加速效果和运行效率方面都有很大的提升。
在一种实施方式中,对至少两个预设处理参数进行融合计算,包括利用以下公式进行融合计算:
new_scale=bn_scale*input_scale*weight_scale/output_scale;
new_bias=bn_bias/output_scale;
其中,new_scale表示当前层的尺度值,bn_scale表示当前层的批量归一化的尺度,input_scale表示当前层的输入数据的量化幅值,weight_scale表示当前层的权重的量化幅值,output_scale表示当前层的输出数据的量化幅值,new_bias表示当前层的第二偏置值,bn_bias表示当前层的批量归一化的偏置值。
本申请实施例中,将上述预设处理参数进行融合计算,得到的融合计算的结果可作为后续的定点化处理的数据依据,通过定点化可有效降低加速单元的计算量,充分发挥加速单元的定点化计算的优势。
第二方面,本申请实施例提供了一种神经网络的量化与定点化融合装置,包括:
量化单元,用于:对神经网络的当前层的输入数据和权重做量化处理;
第一操作单元,用于:在当前层中,利用量化处理后的权重对量化处理后的输入数据做计算操作,得到计算操作结果;
定点化单元,用于:对预设处理参数进行定点化处理;
第二操作单元,用于:利用定点化处理后的预设处理参数,对计算操作结果进行后处理操作,得到当前层的输出结果。
在一种实施方式中,计算操作包括将量化处理后的输入数据与量化处理后的权重相乘;
预设处理参数包括当前层的第一偏置值;
后处理操作包括将计算操作结果与定点化处理后的第一偏置值相加。
在一种实施方式中,计算操作包括卷积操作;
预设处理参数包括:当前层的输入数据的量化幅值、当前层的权重的量化幅值、当前层的输出数据的量化幅值、当前层的批量归一化的尺度的量化幅值和当前层的批量归一化的偏置值的量化幅值中的至少一项。
在一种实施方式中,定点化单元用于:
对至少两个预设处理参数进行融合计算,得到当前层的尺度值和当前层的第二偏置值。
在一种实施方式中,后处理操作包括:将计算操作结果与当前层的尺度值相乘之后,再与当前层的第二偏置值相加。
在一种实施方式中,定点化单元用于利用以下公式进行融合计算:
new_scale=bn_scale*input_scale*weight_scale/output_scale;
new_bias=bn_bias/output_scale;
其中,new_scale表示当前层的尺度值,bn_scale表示当前层的批量归一化的尺度,input_scale表示当前层的输入数据的量化幅值,weight_scale表示当前层的权重的量化幅值,output_scale表示当前层的输出数据的量化幅值,new_bias表示当前层的第二偏置值,bn_bias表示当前层的批量归一化的偏置值。
第三方面,本申请实施例提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请任意一项实施例所提供的方法。
第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使该计算机执行本申请任意一项实施例所提供的方法。
上述申请中的一个实施例具有如下优点或有益效果:通过量化处理与定点化处理的融合,明显降低了算子之间的数据传输对带宽的要求,有效降低了加速单元的计算量,充分发挥了加速单元的定点化计算的优势。同时通过量化处理和定点化处理降低了计算对资源的要求,在节省资源的同时提升了计算效率。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的神经网络的量化与定点化融合方法的流程图;
图2是根据本申请实施例的神经网络的量化与定点化融合方法的量化与定点化融合关系图;
图3是根据本申请实施例的神经网络的量化与定点化融合方法的卷积计算流程图;
图4是根据本申请实施例的神经网络的量化与定点化融合装置的结构示意图;
图5是用来实现本申请实施例的神经网络的量化与定点化融合方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例的神经网络的量化与定点化融合方法的流程图。参见图1,该神经网络的量化与定点化融合方法包括:
步骤S110,对神经网络的当前层的输入数据和权重做量化处理;
步骤S120,在当前层中,利用量化处理后的权重对量化处理后的输入数据做计算操作,得到计算操作结果;
步骤S130,对预设处理参数进行定点化处理;
步骤S140,利用定点化处理后的预设处理参数,对计算操作结果进行后处理操作,得到当前层的输出结果。
神经网络的具体实现方式中,可以使用加速技术用以提升运行效率。以卷积神经网络为例,神经网络的加速方法可包括量化处理。量化即在计算中使用低数值精度以提升计算速度。具体地,量化技术是通过减少表示每个权重所需的比特数来压缩原始神经网络的加速方法。在一个示例中,对于N个比特位,可以表示2的N次方个权重,即修改神经网络中的权重,使得神经网络中的权重只能取2的N次方个值。低bit量化技术是在保证精度的基础上对计算过程中以及在其前后的处理步骤的数据进行量化,降低数据的表示范围。以嵌入式平台的应用场景为例,在当前神经网络推理中,一方面每层的输入输出以及对应的权重信息都有呈现正态分布或者稀疏性,另一方面高精度的数据表示会带来类似过拟合的影响,而且高精度的数据表示会造成结果精度的浪费,所以通常在嵌入式平台上的神经网络推理采用低bit量化来提高神经网络模型的鲁棒性以及提高平台计算能力。
定点化技术是将数据由浮点数表示转换为定点数表示。嵌入式平台中的加速单元如FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)、DSP(digital signalprocessor,数字信号处理器)、GPU(Graphics Processing Unit,图形处理器)等,都对定点化计算有很好的支持,而且对定点化计算的计算效率更高。定点化不仅可以完全保证结果精度,而且能最大限度地提高加速单元的有效算力。
计算机处理的数值数据多数带有小数。小数点在计算机中通常有两种表示方法。一种是约定所有数值数据的小数点隐含在某一个固定位置上,称为定点表示法,简称定点数。另一种是小数点位置可以浮动,称为浮点表示法,简称浮点数。也就是说,定点数是小数点固定的数。对于定点数,在计算机中没有专门表示小数点的位,小数点的位置是约定默认的。浮点数是小数点的位置可以变动的数。为增大数值表示范围,防止溢出,在有些应用场景下数据采用浮点数表示法。浮点表示法类似于科学计数法。
以嵌入式平台的应用场景为例,神经网络的加速对于提升嵌入式平台的计算效率而言是至关重要的。本发明实施例结合算法本身以及嵌入式加速单元的特点提供了一种将量化处理与定点化处理相融合的高效计算优化方法。图2是根据本申请实施例的神经网络的量化与定点化融合方法的量化与定点化融合关系图。如图2所示,本申请实施例的神经网络的量化与定点化融合方法主要包括低bit量化计算和定点化计算两个计算步骤,而且这两个步骤相互依赖相互影响,通过两者的有效结合可以实现更高效的加速效果。
如图2所示,低bit量化计算步骤包括“fm”、“conv weight”和“compute”。其中,“fm”的全称是feature map,表示当前层的输入特征映射。“conv weight”表示卷积层的权重。“compute”表示当前层的计算操作,例如与权重相乘的计算操作、卷积层中的卷积计算操作等。
参见图1和图2,在一个示例中,“fm”本身可以是整数。图1中的神经网络的当前层的输入数据可包括输入特征映射(fm)。在图2中,“fm”与“compute”之间的连接线上的“intn”,表示将当前层的输入特征映射做量化处理,下角标n表示量化后的比特位。
参见图1和图2,在当前层为卷积层的情况下,图1中的神经网络的当前层的权重即为卷积层的权重(conv weight)。在图2中,“conv weight”与“compute”之间的连接线上的“intn”,表示将当前层的权重做量化处理,下角标n表示量化后的比特位。图2中“compute”的输出结果也就是图1中的计算操作结果。“compute”与“post compute”之间的连接线上的“intm”,表示“compute”的输出结果是一个整型数据,下角标m表示输出结果的比特位。在一个示例中,n的取值可以为8、4或2,m>n。
如图2所示,定点化计算步骤包括“post compute”和“bias”。其中,“postcompute”表示当前层中的后处理操作,例如加偏置、归一化等。参见图1和图2,图1中的预设处理参数可包括bias(偏置),bias表示当前层的网络参数之中的偏置值。图2中的“bias”表示对bias(偏置)做定点化处理后产生fixedp.q值,下角标p和q分别表示定点化处理的整数部分和小数部分各自所占用的比特位。
参见图2,将定点化处理后的fixedp.q值输入到“post compute”做后处理操作,产生当前层的计算结果。这个计算结果有可能精度过高,也就是说这个计算结果的精度可能高于对输出结果要求的精度。因此需要对这个计算结果做进一步的量化处理。
如图2所示,“quant”表示对后处理操作产生的计算结果进行量化处理,例如截断小数位、进位等。例如可采用一种通常的进位方式:四舍五入。
如图2所示,将“quant”量化处理之后的结果作为神经网络的下一层的输入,即图2中所示的“fm(next)”。
如前述,本发明实施例不限制量化处理的比特位,可以是8bit,4bit甚至2bit。在低bit量化中的bit位宽确定的前提下,定点化的参数也可以自适应确定。例如定点化处理的整数部分p和小数部分q可根据具体应用的数据精度要求而确定。在一种实施方式中,也可以仅通过量化处理的方式或者仅通过定点化处理的方式来实现神经网络推理的加速。
本申请实施例中,通过量化处理与定点化处理的融合,明显降低了算子之间的数据传输对带宽的要求,有效降低了加速单元的计算量,充分发挥了加速单元的定点化计算的优势。因为算子之间传输的数据bit位指数倍地降低,在计算资源上也会有收益。又由于算子能够直接获得量化数据开始计算,中间的数据转换部分消耗的资源会消失。同时通过量化处理和定点化处理降低了计算对资源的要求,在节省资源的同时提升了计算效率。
在一种实施方式中,图1中的计算操作包括将量化处理后的输入数据与量化处理后的权重相乘;
预设处理参数包括当前层的第一偏置值;
后处理操作包括将计算操作结果与定点化处理后的第一偏置值相加。
参见图1和图2,在这种实施方式中,图2中的“低bit量化计算”具体可包括将量化处理后的输入数据与量化处理后的权重相乘的计算过程,其中的“compute”具体可包括将量化处理后的输入特征映射与量化处理后的权重相乘。
参见图1和图2,图1中的预设处理参数可包括当前层的网络参数之中的偏置值,也称为第一偏置值。图2中的“定点化计算”具体可包括将计算操作产生的结果再加上定点化处理后的第一偏置值的计算过程,其中的“post compute”具体可包括将上述相乘的结果再加上fixedp.q值的计算过程。
本申请实施例中,将用于计算操作的输入数据和权重的量化处理,和用于后处理操作的预设处理参数的定点化处理相融合,从而达到很好的神经网络加速效果。
本申请实施例可应用于人工智能领域,尤其是自动驾驶领域。例如,在自主泊车领域的应用场景中,可用泊车位的环境参数和泊车车身的航向角作为输入数据,用方向盘的转角作为输出结果。其中,泊车位的环境参数可包括泊车位的大小及位置。在一个示例中,输入数据还可包括车身位置,例如车身右后点的坐标。通过训练好的神经网络计算方向盘的转角,再根据计算出的方向盘的转角、泊车位数据和车身位置可完成自动泊车控制。
在自主泊车领域的应用场景中,可对神经网络的当前层的输入数据和权重做量化处理。例如对泊车位的环境参数和泊车车身的航向角和权重做量化处理。在当前层中,利用量化处理后的权重对量化处理后的输入数据做计算操作,得到计算操作结果。例如计算操作结果可以是能够完成自动泊车控制的方向盘的转角。然后对预设处理参数进行定点化处理。例如预设处理参数包括当前层的第一偏置值。利用定点化处理后的预设处理参数,对计算操作结果进行后处理操作,得到当前层的输出结果。例如后处理操作包括将计算操作结果与定点化处理后的第一偏置值相加。
在自主泊车领域的应用场景中,将用于计算操作的输入数据和权重的量化处理,和用于后处理操作的预设处理参数的定点化处理相融合,从而达到很好的神经网络加速效果。通过量化处理与定点化处理的融合,明显降低了算子之间的数据传输对带宽的要求,有效降低了加速单元的计算量,充分发挥了加速单元的定点化计算的优势。在节省资源的同时提升了计算效率。
图3是根据本申请实施例的神经网络的量化与定点化融合方法的卷积计算流程图。在图3中以卷积层为例示出了量化与定点化融合方法的计算流程。该计算流程包括加速计算流程和初始化计算流程。图3中标号为1的矩形框表示加速计算流程,标号为2的矩形框表示初始化计算流程。
参见图1和图3,图1中的步骤S110具体可包括:在加速计算流程中,“weight intn”表示将卷积层的权重做量化处理,下角标n表示量化后的比特位。“input intn”表示将卷积层的输入数据做量化处理,下角标n表示量化后的比特位。
在一种实施方式中,计算操作包括卷积操作。
参见图1和图3,图1中的步骤S120中的计算操作在卷积层中具体可包括卷积操作。图3中的“Multi compute”表示卷积操作。“Multi compute”产生的结果为“Conv result(intm)”,表示该结果是一个整型数据,下角标m表示该结果的比特位。
参见图1和图3,图1中的步骤S130中的对预设处理参数进行定点化处理后的结果具体可包括:初始化计算流程中产生的“New weight”的最终结果。“New weight”的最终结果包括New scale(当前层的尺度值)和New bias(当前层的第二偏置值)。
在一种实施方式中,后处理操作包括:将计算操作结果与当前层的尺度值相乘之后,再与当前层的第二偏置值相加。
参见图1和图3,图1中的步骤S140中的后处理操作具体可包括:加速计算流程中的“Multi and add”所执行的操作,即将“Conv result”与New scale相乘,再加上New bias。通过“Multi and add”所执行的操作后得到当前层的输出数据“output(intn)”,表示该输出数据是一个整型数据,下角标n表示该输出数据的比特位。
在一个示例中,n的取值可以为8、4或2,m>n。
本申请实施例中,利用定点化处理后的融合计算的结果做后处理操作,使量化处理和定点化处理相融合,在加速效果和运行效率方面都有很大的提升。
在一种实施方式中,预设处理参数包括:当前层的输入数据的量化幅值、当前层的权重的量化幅值、当前层的输出数据的量化幅值、当前层的批量归一化的尺度和当前层的批量归一化的偏置值中的至少一项。
参见图1和图3,图1中的预设处理参数具体可包括图3中的“input scale”、“Weight scale”、“output scale”、“bn scale”和“bn scale”。在初始化计算流程中,上述预设处理参数的表示含义如下:
“input scale”表示在训练时统计的当前层的输入数据的量化幅值,例如统计当前层的输入数据的最大值。
“Weight scale”表示在训练时统计的当前层的权重的量化幅值,例如统计当前层的权重的最大值。
“output scale”表示在训练时统计的当前层的输出数据的量化幅值,例如统计当前层的输出数据的最大值。
“bn scale”表示当前层的批量归一化的尺度,是由训练产出的参数中bn(batchnormalization)参数之一。
“bn bias”表示当前层的批量归一化的偏置值,是由训练产出的参数中bn(batchnormalization)参数之一。
本申请实施例中,在卷积计算流程中将量化处理与定点化处理相融合,利用当前层的输入数据、权重以及输出数据做加速处理,提升了计算效率。
以上是卷积层的预设处理参数的示例。在具体应用中,预设处理参数可以根据网络结构进行调整。
在一种实施方式中,图1中的步骤S130,对预设处理参数进行定点化处理,包括:
对至少两个预设处理参数进行融合计算,得到当前层的尺度值和当前层的第二偏置值。
参见图1和图3,图3中的“Weight fusion”表示将预设处理参数做融合计算。
本申请实施例中,将预设处理参数进行融合计算,得到的融合计算的结果可作为后续的定点化处理的数据依据,通过定点化可以提高加速单元的有效算力。
在一种实施方式中,对至少两个预设处理参数进行融合计算,包括利用以下公式进行融合计算:
new_scale=bn_scale*input_scale*weight_scale/output_scale;
new_bias=bn_bias/output_scale;
其中,new_scale表示当前层的尺度值,bn_scale表示当前层的批量归一化的尺度,input_scale表示当前层的输入数据的量化幅值,weight_scale表示当前层的权重的量化幅值,output_scale表示当前层的输出数据的量化幅值,new_bias表示当前层的第二偏置值,bn_bias表示当前层的批量归一化的偏置值。
本申请实施例中,将上述预设处理参数进行融合计算,得到的融合计算的结果可作为后续的定点化处理的数据依据,通过定点化可有效降低加速单元的计算量,充分发挥加速单元的定点化计算的优势。
参见图3,“Fix point”表示做定点化处理。在一种实施方式中,经过“Weightfusion”融合计算之后得到“New weight”的中间结果,再将“New weight”的中间结果做定点化处理,得到“New weight”的最终结果。
如图3所示,标号为3的操作流程或数据表示低bit数据以及对应的计算过程。标号为4的操作流程或数据表示初始化计算流程,该计算流程是基于浮点运算,且该计算流程不会占用加速单元。其中,加速单元可包括硬件设备,如FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)、GPU(Graphics Processing Unit,图形处理器)等。标号为5的操作流程或数据表示定点化数据以及相关运算部分。
神经网络通常为多层结构,其中的每一层执行一个操作处理过程。每一个操作处理过程对应于一个算子。仍以嵌入式加速平台为例,本申请实施例中的低bit量化处理是将神经网络中的权重参数在训练时加入量化规则,使之产出的权重为低bit表示数据,并且在训练过程中对各个算子的输入输出进行量化参数统计,将统计出的量化参数应用在神经网络在嵌入式加速平台的推理过程中。由于有了以上前提,在定点化处理的过程中,算子对输入输出的数据要求的精度本身不需要太高,只是达到量化后的低bit表示即可,所以在算子输出计算时不需要进行全精度的计算,只要保证量化产出的精度即可。在定点化处理的过程中,将低bit计算结果与预设处理参数的计算,获取最终低bit结果。例如预设处理参数可以是在初始化计算流程中全精度计算并做定点化操作得到的。
在神经网络的训练过程中需要考虑加速单元的计算顺序,也就是在算子融合后的实际计算顺序。例如conv(卷积)+add(加)+bn+relu(Rectified Linear Unit,修正线性单元)这样的网络结构,上述网络结构中的四个算子分别对应于网络中的4个层,可将4个算子融合成1个算子做加速处理。可通过类似于图2的方式处理conv+add+bn+relu这样的结构算子,例如实际计算过程是先做conv的乘累积,然后将加操作融合到了bn中,而且低bit量化的参数也融合到了bn中。其中的预设处理参数包含了输入数据、权重以及输出数据,所以与传统的计算顺序是不一致的。传统的计算顺序中通常仅包括关于输入数据或权重的单独的计算步骤。同时在训练中要考虑定点化的操作,也就是在某些位置要做特殊的量化。
本申请实施例需要根据实际的推理过程来确定训练的过程,也就是说训练时要考虑算子融合的问题,保持算子能够按照约定的顺序计算。使训练过程的计算顺序与推理过程的计算顺序保持一致。而且在反向传播过程中,计算梯度时要注意使用输入输出的固定的量化尺度来更新权重信息。计算出权重信息后要采用数学统计的方法来更新输入输出的量化尺度。也就是说,量化尺度的更新以及权重的获取都是在整个训练过程中完成的。在训练过程中定点化可以通过限定数据范围来自动的更新到预设处理参数中。其中,限定数据范围可包括表示定点化处理的整数部分和小数部分各自所占用的比特位。
在神经网络的推理过程中,整个计算过程可按照低bit以及定点化的要求的计算过程来实施,以确保得到准确的结果。保证在推理过程中与训练过程一样,首先要保持计算顺序一致,然后在融合预设处理参数时首先按照全精度离线计算完成,在实际使用时按照定点化的要求来做截断,保证数据的正确性。
本申请实施例中,低bit量化与定点化融合在一起,不只是在前向推理阶段,在网络训练过程中也要充分考虑如何将两者融合并且做到完全适配。对于不同的神经网络框架,在训练时需要考虑算子融合部分,要考虑如何在算子融合的过程将以上量化与定点化准确无误的融合进来,例如预先设计好在哪个步骤做量化处理以及在哪个步骤做定点化处理,保证数据的正确性和过程的正确性。
图4是根据本申请实施例的神经网络的量化与定点化融合装置的结构示意图。如图4所示,本申请实施例的神经网络的量化与定点化融合装置包括:
量化单元100,用于:对神经网络的当前层的输入数据和权重做量化处理;
第一操作单元200,用于:在当前层中,利用量化处理后的权重对量化处理后的输入数据做计算操作,得到计算操作结果;
定点化单元300,用于:对预设处理参数进行定点化处理;
第二操作单元400,用于:利用定点化处理后的预设处理参数,对计算操作结果进行后处理操作,得到当前层的输出结果。
在一种实施方式中,计算操作包括将量化处理后的输入数据与量化处理后的权重相乘;
预设处理参数包括当前层的第一偏置值;
后处理操作包括将计算操作结果与定点化处理后的第一偏置值相加。
在一种实施方式中,计算操作包括卷积操作;
预设处理参数包括:当前层的输入数据的量化幅值、当前层的权重的量化幅值、当前层的输出数据的量化幅值、当前层的批量归一化的尺度的量化幅值和当前层的批量归一化的偏置值的量化幅值中的至少一项。
在一种实施方式中,定点化单元300用于:
对至少两个预设处理参数进行融合计算,得到当前层的尺度值和当前层的第二偏置值。
在一种实施方式中,后处理操作包括:将计算操作结果与当前层的尺度值相乘之后,再与当前层的第二偏置值相加。
在一种实施方式中,定点化单元300用于利用以下公式进行融合计算:
new_scale=bn_scale*input_scale*weight_scale/output_scale;
new_bias=bn_bias/output_scale;
其中,new_scale表示当前层的尺度值,bn_scale表示当前层的批量归一化的尺度,input_scale表示当前层的输入数据的量化幅值,weight_scale表示当前层的权重的量化幅值,output_scale表示当前层的输出数据的量化幅值,new_bias表示当前层的第二偏置值,bn_bias表示当前层的批量归一化的偏置值。
本申请实施例的神经网络的量化与定点化融合装置中的各单元的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是根据本申请实施例的神经网络的量化与定点化融合方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。
存储器502即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的神经网络的量化与定点化融合方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的神经网络的量化与定点化融合方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的神经网络的量化与定点化融合方法对应的程序指令/模块(例如,附图4所示的量化单元100、第一操作单元200、定点化单元300、第二操作单元400)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的神经网络的量化与定点化融合方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据执行神经网络的量化与定点化融合方法的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至执行神经网络的量化与定点化融合方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行神经网络的量化与定点化融合方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与执行神经网络的量化与定点化融合方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、发光二极管(Light Emitting Diode,LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuits,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(programmable logic device,PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode Ray Tube,阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过量化处理与定点化处理的融合,明显降低了算子之间的数据传输对带宽的要求,有效降低了加速单元的计算量,充分发挥了加速单元的定点化计算的优势。同时通过量化处理和定点化处理降低了计算对资源的要求,在节省资源的同时提升了计算效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (8)

1.一种神经网络的量化与定点化融合方法,其特征在于,包括:
对神经网络的当前层的输入数据和权重做量化处理;
在所述当前层中,利用量化处理后的权重对量化处理后的输入数据做计算操作,得到计算操作结果;
对预设处理参数进行定点化处理;
利用定点化处理后的预设处理参数,对所述计算操作结果进行后处理操作,得到所述当前层的输出结果;
其中,所述预设处理参数包括:所述当前层的输入数据的量化幅值、所述当前层的权重的量化幅值、所述当前层的输出数据的量化幅值、所述当前层的批量归一化的尺度和所述当前层的批量归一化的偏置值中的至少一项;
所述对预设处理参数进行定点化处理,包括:对至少两个所述预设处理参数进行融合计算,得到所述当前层的尺度值和所述当前层的第二偏置值;
所述后处理操作包括:将所述计算操作结果与所述当前层的尺度值相乘之后,再与所述当前层的第二偏置值相加;
所述对至少两个所述预设处理参数进行融合计算,包括利用以下公式进行融合计算:
new_scale=bn_scale*input_scale*weight_scale/output_scale;
new_bias=bn_bias/output_scale;
其中,new_scale表示所述当前层的尺度值,bn_scale表示所述当前层的批量归一化的尺度,input_scale表示所述当前层的输入数据的量化幅值,weight_scale表示所述当前层的权重的量化幅值,output_scale表示所述当前层的输出数据的量化幅值,new_bias表示所述当前层的第二偏置值,bn_bias表示所述当前层的批量归一化的偏置值;
所述对神经网络的当前层的输入数据和权重做量化处理,包括:对泊车位的环境参数和泊车车身的航向角和权重做量化处理;所述计算操作结果包括用于完成自动泊车控制的方向盘的转角。
2.根据权利要求1所述的方法,其特征在于,
所述计算操作包括将所述量化处理后的输入数据与所述量化处理后的权重相乘;
所述预设处理参数包括所述当前层的第一偏置值;
所述后处理操作包括将所述计算操作结果与定点化处理后的所述第一偏置值相加。
3.根据权利要求1所述的方法,其特征在于,
所述计算操作包括卷积操作。
4.一种神经网络的量化与定点化融合装置,其特征在于,包括:
量化单元,用于:对神经网络的当前层的输入数据和权重做量化处理;
第一操作单元,用于:在所述当前层中,利用量化处理后的权重对量化处理后的输入数据做计算操作,得到计算操作结果;
定点化单元,用于:对预设处理参数进行定点化处理;
第二操作单元,用于:利用定点化处理后的预设处理参数,对所述计算操作结果进行后处理操作,得到所述当前层的输出结果;
其中,所述预设处理参数包括:所述当前层的输入数据的量化幅值、所述当前层的权重的量化幅值、所述当前层的输出数据的量化幅值、所述当前层的批量归一化的尺度的量化幅值和所述当前层的批量归一化的偏置值的量化幅值中的至少一项;
所述定点化单元用于:对至少两个所述预设处理参数进行融合计算,得到所述当前层的尺度值和所述当前层的第二偏置值;
所述后处理操作包括:将所述计算操作结果与所述当前层的尺度值相乘之后,再与所述当前层的第二偏置值相加;
所述定点化单元用于利用以下公式进行融合计算:
new_scale=bn_scale*input_scale*weight_scale/output_scale;
new_bias=bn_bias/output_scale;
其中,new_scale表示所述当前层的尺度值,bn_scale表示所述当前层的批量归一化的尺度,input_scale表示所述当前层的输入数据的量化幅值,weight_scale表示所述当前层的权重的量化幅值,output_scale表示所述当前层的输出数据的量化幅值,new_bias表示所述当前层的第二偏置值,bn_bias表示所述当前层的批量归一化的偏置值;
所述对神经网络的当前层的输入数据和权重做量化处理,包括:对泊车位的环境参数和泊车车身的航向角和权重做量化处理;所述计算操作结果包括用于完成自动泊车控制的方向盘的转角。
5.根据权利要求4所述的装置,其特征在于,
所述计算操作包括将所述量化处理后的输入数据与所述量化处理后的权重相乘;
所述预设处理参数包括所述当前层的第一偏置值;
所述后处理操作包括将所述计算操作结果与定点化处理后的所述第一偏置值相加。
6.根据权利要求4所述的装置,其特征在于,
所述计算操作包括卷积操作。
7.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的方法。
8.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-3中任一项所述的方法。
CN201910966512.6A 2019-10-11 2019-10-11 神经网络的量化与定点化融合方法及装置 Active CN110705696B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910966512.6A CN110705696B (zh) 2019-10-11 2019-10-11 神经网络的量化与定点化融合方法及装置
PCT/CN2020/083797 WO2021068469A1 (zh) 2019-10-11 2020-04-08 神经网络的量化与定点化融合方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910966512.6A CN110705696B (zh) 2019-10-11 2019-10-11 神经网络的量化与定点化融合方法及装置

Publications (2)

Publication Number Publication Date
CN110705696A CN110705696A (zh) 2020-01-17
CN110705696B true CN110705696B (zh) 2022-06-28

Family

ID=69198512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910966512.6A Active CN110705696B (zh) 2019-10-11 2019-10-11 神经网络的量化与定点化融合方法及装置

Country Status (2)

Country Link
CN (1) CN110705696B (zh)
WO (1) WO2021068469A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110705696B (zh) * 2019-10-11 2022-06-28 阿波罗智能技术(北京)有限公司 神经网络的量化与定点化融合方法及装置
CN113222097A (zh) * 2020-01-21 2021-08-06 上海商汤智能科技有限公司 数据处理方法和相关产品
CN113326942B (zh) * 2020-02-28 2024-06-11 上海商汤智能科技有限公司 模型推理方法及装置、电子设备和存储介质
CN115019150B (zh) * 2022-08-03 2022-11-04 深圳比特微电子科技有限公司 目标检测定点模型建立方法、装置及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239826A (zh) * 2017-06-06 2017-10-10 上海兆芯集成电路有限公司 在卷积神经网络中的计算方法及装置
CN107748915A (zh) * 2017-11-02 2018-03-02 北京智能管家科技有限公司 深度神经网络dnn模型的压缩方法、装置、设备及介质
CN108334945A (zh) * 2018-01-30 2018-07-27 中国科学院自动化研究所 深度神经网络的加速与压缩方法及装置
CN108345939A (zh) * 2017-01-25 2018-07-31 微软技术许可有限责任公司 基于定点运算的神经网络

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160328645A1 (en) * 2015-05-08 2016-11-10 Qualcomm Incorporated Reduced computational complexity for fixed point neural network
US10373050B2 (en) * 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
CN110059811A (zh) * 2017-11-06 2019-07-26 畅想科技有限公司 权重缓冲器
CN109902745A (zh) * 2019-03-01 2019-06-18 成都康乔电子有限责任公司 一种基于cnn的低精度训练与8位整型量化推理方法
CN110008952B (zh) * 2019-03-26 2021-06-15 深兰科技(上海)有限公司 一种目标识别方法及设备
CN110705696B (zh) * 2019-10-11 2022-06-28 阿波罗智能技术(北京)有限公司 神经网络的量化与定点化融合方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345939A (zh) * 2017-01-25 2018-07-31 微软技术许可有限责任公司 基于定点运算的神经网络
CN107239826A (zh) * 2017-06-06 2017-10-10 上海兆芯集成电路有限公司 在卷积神经网络中的计算方法及装置
CN107748915A (zh) * 2017-11-02 2018-03-02 北京智能管家科技有限公司 深度神经网络dnn模型的压缩方法、装置、设备及介质
CN108334945A (zh) * 2018-01-30 2018-07-27 中国科学院自动化研究所 深度神经网络的加速与压缩方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卷积神经网络的定点化研究;陈俊保 等;《信息技术》;20180724;全文 *

Also Published As

Publication number Publication date
WO2021068469A1 (zh) 2021-04-15
CN110705696A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
CN110705696B (zh) 神经网络的量化与定点化融合方法及装置
CN111079938B (zh) 问答阅读理解模型获取方法、装置、电子设备及存储介质
KR102602195B1 (ko) 트레이닝된 장단기 메모리 신경망 양자화
CN111539227B (zh) 训练语义表示模型的方法、装置、设备和计算机存储介质
CN110826634B (zh) 图像目标检测模型的训练方法、装置、电子设备及存储介质
CN111832701B (zh) 模型的蒸馏方法、装置、电子设备及存储介质
CN111242306A (zh) 量子主成分分析的方法、装置、电子设备以及计算机可读存储介质
CN111666077B (zh) 算子处理方法、装置、电子设备及存储介质
CN111275190A (zh) 神经网络模型的压缩方法及装置、图像处理方法及处理器
CN111598249A (zh) 确定近似量子门的方法、装置、经典计算机和存储介质
CN112270403B (zh) 构建深度学习的网络模型的方法、装置、设备和存储介质
CN111966361A (zh) 用于确定待部署模型的方法、装置、设备及其存储介质
CN111539220A (zh) 语义相似度模型的训练方法、装置、电子设备及存储介质
CN112148249B (zh) 点积运算实现方法、装置、电子设备及存储介质
CN112529189A (zh) 模型压缩方法、装置、电子设备及存储介质
KR20220003444A (ko) 옵티마이저 학습 방법, 장치, 전자 기기 및 판독 가능 기록 매체
CN110674281B (zh) 人机对话及人机对话模型获取方法、装置及存储介质
CN117351299A (zh) 图像生成及模型训练方法、装置、设备和存储介质
CN110782029B (zh) 神经网络预测方法、装置、电子设备和自动驾驶系统
CN111667428A (zh) 基于自动搜索的噪声生成方法和装置
CN111833391A (zh) 图像深度信息的估计方法及装置
CN111767832A (zh) 模型生成方法、装置、电子设备及存储介质
CN110688327A (zh) 显存管理方法、装置、电子设备和计算机可读存储介质
US20220113943A1 (en) Method for multiply-add operations for neural network
CN111959496B (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
TA01 Transfer of patent application right

Effective date of registration: 20211013

Address after: 105 / F, building 1, No. 10, Shangdi 10th Street, Haidian District, Beijing 100085

Applicant after: Apollo Intelligent Technology (Beijing) Co.,Ltd.

Address before: 100085 Baidu Building, 10 Shangdi Tenth Street, Haidian District, Beijing

Applicant before: BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant