A method to be performed by a processing system, comprising: receiving an implementation request to implement a neural network on the processing system that performs neural network computations using fixed point arithmetic, the implementation request including floating point weight values for nodes of the neural network, the neural network comprising a plurality of layers, each layer having a plurality of nodes, and each node of each layer having a respective set of floating point weight values, wherein the respective set of floating point weight values of each node of each layer represents a respective row or respective column in a weight matrix associated with the layer; for each node of each layer: determining a respective scaling value for the respective node from the respective set of floating point weight values of the respective node, wherein determining the respective scaling value comprises: identifying a floating point weight value with the greatest magnitude from the floating point weight values associated with said respective node; identifying a largest representable value in the fixed point arithmetic used by the processing system to perform neural network computations; computing the respective scaling value based on a ratio of the magnitude of the identified floating point weight value with the greatest magnitude and the identified largest representable value in the fixed point arithmetic; and converting each floating point weight value of the respective node into a corresponding fixed point weight value using the respective scaling value determined for the respective node to generate a set of fixed point weight values for the respective node; and providing the sets of fixed point weight values of the nodes to the processing system for use in processing inputs using the neural network. receiving an implementation request to implement a neural network on the processing system that performs neural network computations using fixed point arithmetic, the implementation request including floating point weight values for nodes of the neural network, the neural network comprising a plurality of layers, each layer having a plurality of nodes, and each node of each layer having a respective set of floating point weight values, wherein the respective set of floating point weight values of each node of each layer represents a respective row or respective column in a weight matrix associated with the layer; the neural network comprising a plurality of layers, each layer having a plurality of nodes, and each node of each layer having a respective set of floating point weight values, wherein the respective set of floating point weight values of each node of each layer represents a respective row or respective column in a weight matrix associated with the layer; for each node of each layer: determining a respective scaling value for the respective node from the respective set of floating point weight values of the respective node, wherein determining the respective scaling value comprises: identifying a floating point weight value with the greatest magnitude from the floating point weight values associated with said respective node; identifying a largest representable value in the fixed point arithmetic used by the processing system to perform neural network computations; computing the respective scaling value based on a ratio of the magnitude of the identified floating point weight value with the greatest magnitude and the identified largest representable value in the fixed point arithmetic; and converting each floating point weight value of the respective node into a corresponding fixed point weight value using the respective scaling value determined for the respective node to generate a set of fixed point weight values for the respective node; and determining a respective scaling value for the respective node from the respective set of floating point weight values of the respective node, wherein determining the respective scaling value comprises: identifying a floating point weight value with the greatest magnitude from the floating point weight values associated with said respective node; identifying a largest representable value in the fixed point arithmetic used by the processing system to perform neural network computations; computing the respective scaling value based on a ratio of the magnitude of the identified floating point weight value with the greatest magnitude and the identified largest representable value in the fixed point arithmetic; and identifying a floating point weight value with the greatest magnitude from the floating point weight values associated with said respective node; identifying a largest representable value in the fixed point arithmetic used by the processing system to perform neural network computations; computing the respective scaling value based on a ratio of the magnitude of the identified floating point weight value with the greatest magnitude and the identified largest representable value in the fixed point arithmetic; and converting each floating point weight value of the respective node into a corresponding fixed point weight value using the respective scaling value determined for the respective node to generate a set of fixed point weight values for the respective node; and providing the sets of fixed point weight values of the nodes to the processing system for use in processing inputs using the neural network.