CPC G06N 3/04 (2013.01) [G06F 5/012 (2013.01); G06F 7/483 (2013.01); G06N 3/063 (2013.01); G06N 3/08 (2013.01); G06F 2207/3824 (2013.01); G06F 2207/4824 (2013.01)] | 32 Claims |
9. A system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
receiving a request to implement a neural network on a processing system that performs neural network computations using fixed point arithmetic,
the neural network comprising a plurality of layers,
at least one layer having a plurality of nodes, and
at least one node of the at least one layer having a set of floating point weight values;
for the at least one node of the at least one layer:
determining a scaling value for the at least one node from the set of floating point weight values for the at least one node;
converting each of the set of floating point weight values of the at least one node into a fixed point weight value using the scaling value for the at least one node to generate a set of fixed point weight values for the at least one node; and
updating the neural network by replacing the set of floating point weight values for the at least one node with the set of fixed point weight values for the at least one node; and
processing a network input using the updated neural network with the set of fixed point weight values to generate a network output.
|