Data processing method and apparatus

US11023801B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11023801-B2
Application numberUS-201715618817-A
CountryUS
Kind codeB2
Filing dateJun 9, 2017
Priority dateNov 3, 2016
Publication dateJun 1, 2021
Grant dateJun 1, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present application discloses a data processing method and apparatus. A specific implementation of the method includes: receiving floating point data sent from an electronic device; converting the received floating point data into fixed point data according to a data length and a value range of the received floating point data; performing calculation on the obtained fixed point data according to a preset algorithm to obtain result data in a fixed point form; and converting the obtained result data in the fixed point form into result data in a floating point form and sending the result data in the floating point form to the electronic device. This implementation improves the data processing efficiency.

First claim

Opening claim text (preview).

What is claimed is: 1. A data processing method, comprising: receiving floating point data sent from an electronic device, the received floating point data comprises to-be-processed data and preset weight data of each computing layer in a neural network model, the neural network model comprises at least one computing layer comprising the preset algorithm and the preset weight data; acquiring an address of a storage space pre-allocated to the floating point data, the storage space comprising a first storage space and a second storage space; determining conversion information for mutual conversion between the floating point data and fixed point data according to a data length and a value range of the received floating point data; converting the received to-be-processed data and the received preset weight data of each computing layer into fixed point data according to the determined conversion information, to obtain to-be-processed fixed point data and preset fixed point weight data of the each computing layer; storing the determined conversion information and the obtained fixed point data relatively into the first storage space and the second storage space; importing the obtained to-be-processed fixed point data into the neural network model; performing calculation on the to-be-processed fixed point data imported into the neural network model according to the preset algorithm and the preset fixed point weight data of each layer in the neural network model, to obtain result data in a fixed point form, comprising: for each computing layer comprising the preset algorithm and the preset weight data in the neural network model, performing calculation on fixed point data imported into the layer according to the preset algorithm and the preset fixed point weight data of the each computing layer, to obtain multiple pieces of output data in the fixed point form of the each computing layer as a first output data set for each piece of output data in the first output data set, converting the output data in the fixed point form into output data in a floating point form according to conversion information for the obtained fixed point data and preset fixed point weight data of the piece of output data, to obtain a second output data set and determining second conversion information for the output data in the fixed point form in the first output data set according to a maximum data length and a maximum value range of the pieces of output data in the floating point form in the second output data set, the second conversion information being used for converting the output data in the fixed point form in the first output data set into output data in the floating point form; and converting the obtained result data in the fixed point form into result data in a floating point form and sending the result data in the floating point form to the electronic device. 2. The method according to claim 1 , wherein the determining conversion information for mutual conversion between the floating point data and the fixed point data according to the data length and the value range of the received floating point data comprises: defining a predetermined number of pieces of received floating point data as a floating point data set; comparing value ranges of the pieces of floating point data in the floating point data set to determine a first maximum value range; and determining first conversion information according to a preset first data length and the determined first maximum value range, the first conversion information being used for converting the pieces of floating point data in the floating point data set into fixed point data. 3. A data processing apparatus, comprising: at least one processor; and a memory storing instructions, which when executed by the at least one processor, cause the at least one processor to perform operations, the operations comprising: receiving floating point data sent from an electronic device, the received floating point data comprises to-be-processed data and preset weight data of each computing layer in a neural network model, the neural network model comprises at least one computing layer comprising the preset algorithm and the preset weight data; acquiring an address of a storage space pre-allocated to the floating point data, the storage space comprising a first storage space and a second storage space; determining conversion information for mutual conversion between the floating point data and fixed point data according to a data length and a value range of the received floating point data; converting the received to-be-processed data and the received preset weight data of each computing layer into fixed point data according to the determined conversion information, to obtain to-be-processed fixed point data and preset fixed point weight data of the each computing layer; storing the determined conversion information and the obtained fixed point data relatively into the first storage space and the second storage space; importing the obtained to-be-processed fixed point data into the neural network model; performing calculation on the to-be-processed fixed point data imported into the neural network model according to the preset algorithm and the preset fixed point weight data of each layer in the neural network model, to obtain result data in a fixed point form, comprising: for each computing layer comprising the preset algorithm and the preset weight data in the neural network model, performing calculation on fixed point data imported into the layer according to the preset algorithm and the preset fixed point weight data of the each computing layer, to obtain multiple pieces of output data in the fixed point form of the each computing layer as a first output data set for each piece of output data in the first output data set, converting the output data in the fixed point form into output data in a floating point form according to conversion information for the obtained fixed point data and preset fixed point weight data of the piece of output data, to obtain a second output data set and determining second conversion information for the output data in the fixed point form in the first output data set according to a maximum data length and a maximum value range of the pieces of output data in the floating point form in the second output data set, the second conversion information being used for converting the output data in the fixed point form in the first output data set into output data in the floating point form; and converting the obtained result data in the fixed point form into result data in a floating point form and sending the result data in the floating point form to the electronic device. 4. The apparatus according to claim 3 , wherein the determining conversion information for mutual conversion between the floating point data and the fixed point data according to the data length and the value range of the received floating point data comprises: defining a predetermined number of pieces of received floating point data as a floating point data set; comparing value ranges of the pieces of floating point data in the floating point data set to determine a first maximum value range; and determining first conversion information according to a preset first data length and the determined first maximum value range, the first conversion information being used for converting the pieces of floating point data in the floating point data set into fixed point data. 5. A non-transitory storage medium storing one or more programs, the one or more programs when executed by an apparatus, causing the apparatus to perform operations, the operations comprising: receiving floating point data sent from an electronic device, the received floating point data comprises to-be-processed data and preset weight data of eac

Assignees

Inventors

Classifications

  • Combinations of networks · CPC title

  • G06F7/483Primary

    Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers {(G06F7/4806, G06F7/4824, G06F7/49, G06F7/491, G06F7/544 take precedence)} · CPC title

  • Convolutional networks [CNN, ConvNet] · CPC title

  • Feedforward networks · CPC title

  • using electronic means · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11023801B2 cover?
The present application discloses a data processing method and apparatus. A specific implementation of the method includes: receiving floating point data sent from an electronic device; converting the received floating point data into fixed point data according to a data length and a value range of the received floating point data; performing calculation on the obtained fixed point data accordi…
Who is the assignee on this patent?
Beijing Baidu Netcom Sci & Tec
What technology area does this patent fall under?
Primary CPC classification G06F7/483. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 01 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).