Tuning a neural network may include selecting a portion of a first neural network for modification to increase computational efficiency and generating, using a processor, a second neural network based upon the first neural network by modifying the selected portion of the first neural network while offline.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method of tuning a neural network, the method comprising: selecting a portion of a first neural network for modification to increase computational efficiency; and generating, using a processor, a second neural network based upon the first neural network by modifying the selected portion of the first neural network while offline. 2. The method of claim 1, further comprising: receiving data indicative of a performance requirement; wherein the modifying of the portion of the first neural network is performed to meet the performance requirement. 3. The method of claim 1, further comprising: receiving data indicative of the first neural network; and in response to receiving a request to modify the first neural network, automatically performing the selecting of the portion of the first neural network and the generating of the second neural network. 4. The method of claim 1, further comprising: retraining the second neural network. 5. The method of claim 1, further comprising: validating operation of the second neural network based upon at least one performance requirement. 6. The method of claim 1, wherein the selected portion of the first neural network comprises weights and the modifying the selected portion of the first neural network comprises: adjusting selected ones of the weights of the selected portion of the first neural network. 7. The method of claim 6, wherein adjusting selected ones of the weights of the selected portion of the first neural network comprises: replacing a convolution kernel of a layer of the first neural network with a replacement convolution kernel. 8. The method of claim 6, wherein adjusting selected ones of the weights of the selected portion of the first neural network comprises: scaling a convolution kernel of the first neural network. 9. The method of claim 1, wherein the modifying the selected portion of the first neural network includes performing an operation selected from the group consisting of convolution kernel substitution, pruning, decomposition, and scaling. 10. The method of claim 1, wherein the modifying the selected portion of the first neural network comprises: pruning the portion of the first neural network. 11. The method of claim 10, wherein pruning the portion of the first neural network comprises performing an operation selected from the group consisting of using a different numerical format for weights of the first neural network, removing a feature map of a layer of the first neural network, zeroing a convolution kernel of the first neural network, and removing a layer of the first neural network. 12. The method of claim 1, wherein the modifying the selected portion of the first neural network comprises: replacing an activation function of a neuron of the selected portion of the first neural network with a different activation function. 13. The method of claim 1, wherein the modifying the selected portion of the first neural network comprises: decomposing a convolution kernel of the selected portion of the first neural network. 14. The method of claim 1, wherein the modifying the selected portion of the first neural network comprises: performing kernel fusion. 15. An apparatus for tuning a neural network, comprising: a memory configured to store program code; a processor configured to execute the program code and initiate operations including: selecting a portion of a first neural network for modification to increase computational efficiency; and generating a second neural network based upon the first neural network by modifying the selected portion of the first neural network while offline. 16. The apparatus of claim 15, wherein the processor is configured to initiate operations further comprising: receiving data indicative of a performance requirement; wherein the modifying of the portion of the first neural network is performed to meet the performance requirement. 17. The apparatus of claim 15, further comprising: receiving data indicative of the first neural network; and in response to receiving a request to modify the first neural network, automatically performing the selecting of the portion of the first neural network and the generating of the second neural network. 18. A computer program product comprising a computer readable storage medium having program code stored thereon for tuning a neural network, the program code executable by a processor to perform operations comprising: selecting a portion of a first neural network for modification to increase computational efficiency; and generating a second neural network based upon the first neural network by modifying the selected portion of the first neural network while offline. 19. The computer program product of claim 18, wherein the program code is executable by the processor to perform operations further comprising: receiving data indicative of a performance requirement; wherein the modifying of the portion of the first neural network is performed to meet the performance requirement. 20. The computer program product of claim 18, wherein the program code is executable by the processor to perform operations further comprising: receiving data indicative of the first neural network; and in response to receiving a request to modify the first neural network, automatically performing the selecting of the portion of the first neural network and the generating of the second neural network.