Elastic bottleneck architectures for variable convolution operations
AssigneeQUALCOMM Incorporated
InventorsJamie Menjay LIN, Fatih Murat PORIKLI
Life of this patent
Estimating the term…
Abstract
In one aspect of the present disclosure, a method includes: determining a number of loops for a convolution layer of an elastic bottleneck block; for each loop of the number of loops: loading a loop-specific set of convolution weights; performing a convolution operation using the loop-specific set of convolution-weights; and storing loop-specific convolution results in a local memory; and determining an output of the convolution layer based on a summation of loop-specific convolution results associated with each loop of the number of loops.
Claims30
A method, comprising:
- determining a number of loops for a convolution layer of an elastic bottleneck block;
- for each loop of the number of loops:
- loading a loop-specific set of convolution weights;
- performing a convolution operation using the loop-specific set of convolution weights;
- and
- storing loop-specific convolution results in a local memory;
- and
- determining an output of the convolution layer based on a summation of loop-specific convolution results associated with each loop of the number of loops.
A processing system, comprising:
- a memory comprising computer-executable instructions;
- one or more processors configured to execute the computer-executable instructions and cause the processing system to:
- determine a number of loops for a convolution layer of an elastic bottleneck block;
- for each loop of the number of loops:
- load a loop-specific set of convolution weights;
- perform a convolution operation using the loop-specific set of convolution weights;
- and
- store loop-specific convolution results in a local memory;
- and
- determine an output of the convolution layer based on a summation of loop-specific convolution results associated with each loop of the number of loops.
A method, comprising:
- training a first set of weights for an elastic bottleneck block to operate in a basic mode, wherein:
- in the basic mode, each convolution layer of the elastic bottleneck block is configured to loop once;
- and
- training a second set of weights for the elastic bottleneck block to operate in an extended mode, wherein:
- in the extended mode, one or more convolution layers of the elastic bottleneck block are configured to loop more than once.
A processing system, comprising:
- a memory comprising computer-executable instructions;
- one or more processors configured to execute the computer-executable instructions and cause the processing system to:
- train a first set of weights for an elastic bottleneck block to operate in a basic mode, wherein:
- in the basic mode, each convolution layer of the elastic bottleneck block is configured to loop once;
- and
- train a second set of weights for the elastic bottleneck block to operate in an extended mode, wherein:
- in the extended mode, one or more convolution layers of the elastic bottleneck block are configured to loop more than once.
Dependencies are inferred from the claim text.