Hardware accelerator pre-configured with coefficients for matrix-transform operations
US-2019179869-A1 · Jun 13, 2019 · US
US10635951B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10635951-B1 |
| Application number | US-201916390042-A |
| Country | US |
| Kind code | B1 |
| Filing date | Apr 22, 2019 |
| Priority date | Oct 24, 2018 |
| Publication date | Apr 28, 2020 |
| Grant date | Apr 28, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computer-implemented method includes obtaining a trained convolutional neural network comprising one or more convolutional layers, each of the one or more convolutional layers comprising a plurality of filters with known filter parameters; pre-computing a reusable factor for each of the one or more convolutional layers based on the known filter parameters of the trained convolutional neural network; receiving input data to the trained convolutional neural network; computing an output of the each of the one or more convolutional layers using a Winograd convolutional operator based on the pre-computed reusable factor and the input data; and determining output data of the trained convolutional network based on the output of the each of the one or more convolutional layers.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method, comprising: obtaining, by a data processing apparatus, a trained convolutional neural network comprising at least a first convolutional layer and a second convolutional layer, each of the at least the first convolutional layer and the second convolutional layer comprising a corresponding plurality of filters with known filter parameters; pre-computing, by the data processing apparatus, a first reusable factor for the first convolutional layer based on the known filter parameters regardless of any input data to the trained convolutional neural network; pre-computing, by the data processing apparatus, a second reusable factor for the second convolutional layer based on the known filter parameters regardless of any input data to the trained convolutional neural network; identifying, by the data processing apparatus, a first input data to the first convolutional layer of the trained convolutional neural network; computing, by the data processing apparatus, a first output of the first convolutional layer using a Winograd convolutional operator based on the first reusable factor and the first input data; using, by the data processing apparatus, the first output as a second input data to the second convolutional layer of the trained convolutional neural network; and computing, by the data processing apparatus, a second output of the second convolutional layer using the Winograd convolutional operator based on the second reusable factor and the second input data. 2. The computer-implemented method of claim 1 , further comprising saving the first reusable factor for the first convolutional layer. 3. The computer-implemented method of claim 1 , wherein computing a first output of the first convolutional layer using a Winograd convolutional operator based on the first reusable factor and the first input data comprises computing the first output of the first convolutional layer according to a Winograd minimal filtering algorithm with the first reusable factor and the first input data. 4. The computer-implemented method of claim 1 , wherein the first input data to the trained convolutional neural network comprises one or more images. 5. The computer-implemented method of claim 1 , further comprising: determining, by the data processing apparatus, output data of the trained convolutional neural network based on the second output of the second convolutional layer. 6. The computer-implemented method of claim 1 , further comprising outputting output data of the trained convolutional neural network via a user interface. 7. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising: obtaining a trained convolutional neural network comprising at least a first convolutional layer and a second convolutional layer, each of the at least the first convolutional layer and the second convolutional layer comprising a corresponding plurality of filters with known filter parameters; pre-computing a first reusable factor for the first convolutional layers based on the known filter parameters regardless of any input data to the trained convolutional neural network; pre-computing a second reusable factor for the second convolutional layer based on the known filter parameters regardless of any input data to the trained convolutional neural network; identifying a first input data to the first convolutional layer of the trained convolutional neural network; computing a first output of the first convolutional layer using a Winograd convolutional operator based on the first reusable factor and the first input data; using the first output as a second input data to the second convolutional layer of the trained convolutional neural network; and computing a second output of the second convolutional layer using the Winograd convolutional operator based on the second reusable factor and the second input data. 8. The non-transitory, computer-readable medium of claim 7 , the operations further comprising saving the first reusable factor for the first convolutional layer. 9. The non-transitory, computer-readable medium of claim 7 , wherein computing a first output of the first convolutional layer using a Winograd convolutional operator based on the first reusable factor and the first input data comprises computing the first output of the first convolutional layer according to a Winograd minimal filtering algorithm with the first reusable factor and the first input data. 10. The non-transitory, computer-readable medium of claim 7 , wherein the first input data to the trained convolutional neural network comprises one or more images. 11. The non-transitory, computer-readable medium of claim 7 , the operations further comprising: determining output data of the trained convolutional neural network based on the second output of the second convolutional layer. 12. The non-transitory, computer-readable medium of claim 7 , the operations further comprising outputting output data of the trained convolutional neural network via a user interface. 13. A computer-implemented system, comprising: one or more computers; and one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing instructions, that when executed by the one or more computers, perform operations comprising: obtaining a trained convolutional neural network comprising at least a first convolutional layer and a second convolutional layer, each of the at least the first convolutional layer and the second convolutional layer comprising a corresponding plurality of filters with known filter parameters; pre-computing a first reusable factor for the first convolutional layer based on the known filter parameters regardless of any input data to the trained convolutional neural network; pre-computing a second reusable factor for the second convolutional layer based on the known filter parameters regardless of any input data to the trained convolutional neural network; identifying a first input data to the first convolutional layer of the trained convolutional neural network; computing a first output of the first convolutional layer using a Winograd convolutional operator based on the first reusable factor and the first input data; using the first output as a second input data to the second convolutional layer of the trained convolutional neural network; and computing a second output of the second convolutional layer using the Winograd convolutional operator based on the second reusable factor and the second input data. 14. The computer-implemented system of claim 13 , the operations further comprising saving the first reusable factor for the first convolutional layer. 15. The computer-implemented system of claim 13 , wherein computing a first output of the first convolutional layers using a Winograd convolutional operator based on the first reusable factor and the first input data comprises computing the first output of the first convolutional layer according to a Winograd minimal filtering algorithm with the first reusable factor and the first input data. 16. The computer-implemented system of claim 13 , the operations further comprising: determining output data of the trained convolutional neural network based on the second output of the second convolutional layer. 17. The computer-implemented system of claim 13 , further comprising a user interface; and the operations further comprising outputting output data of the trai
using electronic means · CPC title
Learning methods · CPC title
Architecture, e.g. interconnection topology · CPC title
Physics · mapped topic
Classification, e.g. identification · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.