Methods and systems for implementing a convolution transpose layer of a neural network
AssigneeImagination Technologies Limited
InventorsCagatay Dikici, Clifford Gibson, James Imber
Life of this patent
Estimating the term…
Abstract
Methods and systems for performing a convolution transpose operation between an input tensor having a plurality of input elements and a filter comprising a plurality of filter weights. The method includes: dividing the filter into a plurality of sub-filters; performing, using hardware logic, a convolution operation between the input tensor and each of the plurality of sub-filters to generate a plurality of sub-output tensors, each sub-output tensor comprising a plurality of output elements; and interleaving, using hardware logic, the output elements of the plurality of sub-output tensors to form a final output tensor for the convolution transpose.
Claims20
A system to perform a convolution transpose operation between an input tensor comprising a plurality of input elements and a filter comprising a plurality of filter weights to enable a deep neural network to perform a signal processing task, the system comprising:
- one or more convolution engines configured to perform a direct convolution between the input tensor and each of a plurality of sub-filters to generate a plurality of sub-output tensors comprising a plurality of output elements, each sub-filter comprising a subset of the filter weights of the filter;
- and
- an interleave engine configured to interleave the output elements of the plurality of sub-output tensors to generate a final output tensor for the convolution transpose operation;
- wherein interleaving the output elements of the plurality of sub-output tensors to form the final output tensor for the convolution transpose operation comprises storing the output elements of each of the plurality of sub-output tensors in a storage unit and reading the output elements of the plurality of sub-output tensors from the storage unit in a predetermined order to form the final output tensor.
A method of performing a convolution transpose operation between an input tensor comprising a plurality of input elements and a filter comprising a plurality of filter weights to enable a deep neural network to perform a signal processing task, the method comprising:
- dividing the filter into a plurality of sub-filters;
- performing, using hardware logic, a convolution operation between the input tensor and each of the plurality of sub-filters to generate a plurality of sub-output tensors, each sub-output tensor comprising a plurality of output elements;
- and
- interleaving, using hardware logic, the output elements of the plurality of sub-output tensors to form a final output tensor for the convolution transpose operation;
- wherein interleaving the output elements of the plurality of sub-output tensors to form the final output tensor for the convolution transpose operation comprises storing the output elements of each of the plurality of sub-output tensors in a storage unit and reading the output elements of the plurality of sub-output tensors from the storage unit in a predetermined order to form the final output tensor.
Dependencies are inferred from the claim text.