| CPC G06N 3/04 (2013.01) [G06F 12/0207 (2013.01); G06F 12/0607 (2013.01); G06F 12/0653 (2013.01); G06N 3/045 (2023.01); G06N 3/063 (2013.01); G06F 2212/1016 (2013.01); G06F 2212/251 (2013.01)] | 20 Claims |

|
1. A method of storing input data for a layer of a convolutional neural network (CNN) in a buffer comprising a plurality of banks for processing, the method comprising:
receiving input data comprising input data values to be processed in a layer of the CNN, each input data value has a position in the input data defined by x, y and p coordinates reflecting a column, row and plane of the input data value respectively;
determining addresses in the buffer in which the received input data values are to be stored dependent on a dimension of the input data and a dimension of a filter to be applied to the input data;
keeping a cursor for one or more salient positions to reduce arithmetic performed to determine the addresses in the buffer in which the received input data values are to be stored; and
storing the received input data values at the determined addresses in the buffer for retrieval for processing in the layer.
|