Convolution matrix multiply with callback for deep tiling for deep convolutional neural networks
AssigneeQUALCOMM Incorporated
InventorsDaniel Hendricus Franciscus DIJKMAN, Matthew BADIN
Life of this patent
Estimating the term…
Abstract
A method of address translation of images and filters to virtual matrices to perform a convolution by matrix multiplication includes receiving an image and a filter. Each image and filter has a memory address. The method also includes mapping the memory addresses to virtual matrix addresses based on a calculated linearized image and a calculated linearized filter. The method further includes converting data in the virtual matrix to a predefined internal format. The method still further includes convolving the image by matrix multiplication of the data in the predefined internal format based on the virtual matrix addresses.
Claims22
A method of address translation of images and filters to virtual matrices to perform a convolution by matrix multiplication, comprising:
- receiving an image and a filter, each having a memory address;
- mapping the memory addresses to virtual matrix addresses based at least in part on a calculated linearized image and a calculated linearized filter;
- converting data in the virtual matrix to a predefined internal format;
- and
- convolving the image by matrix multiplication of the data in the predefined internal format based at least in part on the virtual matrix addresses.
An apparatus for translating images and filters to virtual matrices to perform a convolution by matrix multiplication, the apparatus comprising:
- a memory;
- and
- at least one processor coupled to the memory, the at least one processor configured:
- to receive an image and a filter, each having a memory address;
- to map the memory addresses to virtual matrix addresses based at least in part on a calculated linearized image and a calculated linearized filter;
- to convert data in the virtual matrix to a predefined internal format;
- and
- to convolve the image by matrix multiplication of the data in the predefined internal format based at least in part on the virtual matrix addresses.
A method of processing an input source by a deep convolutional network (DCN), comprising:
- processing one portion at a time of the input source by a plurality of layers of the DCN to create outputs for each portion;
- aggregating the outputs of each portion into an aggregated output;
- and
- processing the aggregated output by a plurality of remaining layers.
An apparatus for processing an input source by a deep convolutional network (DCN), the apparatus comprising:
- a memory;
- and
- at least one processor coupled to the memory, the at least one processor configured:
- to process one portion at a time of the input source by a plurality of layers of the DCN to create outputs for each portion;
- to aggregate the outputs of each portion into an aggregated output;
- and
- to process the aggregated output by a plurality of remaining layers.
A method of processing an input source by a deep convolutional network (DCN), comprising:
- receiving an image and a filter, each having a memory address;
- translating a portion of the image and a portion of the filter to virtual matrices;
- convolving the virtual matrices by matrix multiplication based at least in part on a virtual matrix address to generate a convolved image;
- and
- processing the convolved image by a plurality of layers of a DCN to create outputs for each portion.
An apparatus for processing an input source by a deep convolutional network (DCN), the apparatus comprising:
- a memory;
- and
- at least one processor coupled to the memory, the at least one processor configured:
- to receive an image and a filter, each having a memory address;
- to translate a portion of the image and a portion of the filter to virtual matrices;
- to convolve the virtual matrices by matrix multiplication based at least in part on a virtual matrix address to generate a convolved image;
- and
- to process the convolved image by a plurality of layers of a DCN to create outputs for each portion.
Dependencies are inferred from the claim text.