CPC G06N 3/063 (2013.01) [G06F 12/0804 (2013.01); G06N 3/08 (2013.01); G06T 1/60 (2013.01)] | 20 Claims |
1. A method, comprising:
receiving a first set of values for processing by a machine learning network having multiple layers;
storing a first portion of the first set of values in an on-chip memory, wherein the first portion is less than all values of the first set of values, the first set of values including multiple portions;
processing the first portion of the first set of values in a first layer of the machine learning network to generate a portion of a second set of values;
overwriting the stored first portion of the first set of values with the generated first portion of the second set of values, including storing a first part of the first portion of the second set of values;
processing the first portion of the second set of values in a second layer of the machine learning network to generate a first portion of a third set of values;
storing the first portion of the third set of values to a memory;
repeating the steps of storing, processing, overwriting, processing, and storing for a next of the multiple portions of the first set of values until all of the multiple portions of the first set of values have been processed to generate all of multiple portions of the third set of values, wherein, in processing a second portion of the first set of values to generate a second portion of the second set of values, a first part of the second portion of the second set of values is not generated, the first part of the second portion of the second set of values being restored from the stored first part of the first portion of the second set of values; and
outputting the third set of values.
|