A method for data processing performed by a neural network system, the method comprising the steps of: • inputting training data into a neural network system to obtain first output data, wherein the neural network system comprises a plurality of neural network arrays, each of the plurality of neural network arrays comprises a plurality of in-memory computing units, and each in-memory computing unit is configured to store a weight value of a neuron in a corresponding neural network, wherein an initial value of the weight value is determined by performing offline training, wherein the plurality of neural network arrays comprise a first neural network array, a second neural network array, and a third neural network array, wherein input data of the first neural network array comprises output data of the second neural network array, and the third neural network array and the second neural network array are configured to implement computing of a convolutional layer in the neural network in parallel; • calculating a deviation between the first output data and target output data; and • adjusting, based on the deviation, a weight value stored in at least one in-memory computing unit in some neural network arrays in the plurality of neural network arrays, wherein the some neural network arrays are configured to implement computing of some neural network layers in the neural network system, wherein the adjusting, based on the deviation, the weight value stored in at least one in-memory computing unit in some neural network arrays in the plurality of neural network arrays comprises: ∘ dividing the deviation into at least two sub-deviations, wherein a first sub-deviation in the at least two sub-deviations corresponds to the output data of the second neural network array, and a second sub-deviation in the at least two sub-deviations corresponds to output data of the third neural network array; ∘ adjusting, based on the first sub-deviation and input data of the second neural network array, a weight value stored in at least one in-memory computing unit in the second neural network array; and ∘ adjusting, based on the second sub-deviation and input data of the third neural network array, a weight value stored in at least one in-memory computing unit in the third neural network array. • inputting training data into a neural network system to obtain first output data, wherein the neural network system comprises a plurality of neural network arrays, each of the plurality of neural network arrays comprises a plurality of in-memory computing units, and each in-memory computing unit is configured to store a weight value of a neuron in a corresponding neural network, wherein an initial value of the weight value is determined by performing offline training, wherein the plurality of neural network arrays comprise a first neural network array, a second neural network array, and a third neural network array, wherein input data of the first neural network array comprises output data of the second neural network array, and the third neural network array and the second neural network array are configured to implement computing of a convolutional layer in the neural network in parallel; • calculating a deviation between the first output data and target output data; and • adjusting, based on the deviation, a weight value stored in at least one in-memory computing unit in some neural network arrays in the plurality of neural network arrays, wherein the some neural network arrays are configured to implement computing of some neural network layers in the neural network system, wherein the adjusting, based on the deviation, the weight value stored in at least one in-memory computing unit in some neural network arrays in the plurality of neural network arrays comprises: ∘ dividing the deviation into at least two sub-deviations, wherein a first sub-deviation in the at least two sub-deviations corresponds to the output data of the second neural network array, and a second sub-deviation in the at least two sub-deviations corresponds to output data of the third neural network array; ∘ adjusting, based on the first sub-deviation and input data of the second neural network array, a weight value stored in at least one in-memory computing unit in the second neural network array; and ∘ adjusting, based on the second sub-deviation and input data of the third neural network array, a weight value stored in at least one in-memory computing unit in the third neural network array. ∘ dividing the deviation into at least two sub-deviations, wherein a first sub-deviation in the at least two sub-deviations corresponds to the output data of the second neural network array, and a second sub-deviation in the at least two sub-deviations corresponds to output data of the third neural network array; ∘ adjusting, based on the first sub-deviation and input data of the second neural network array, a weight value stored in at least one in-memory computing unit in the second neural network array; and ∘ adjusting, based on the second sub-deviation and input data of the third neural network array, a weight value stored in at least one in-memory computing unit in the third neural network array.