Multistage neural network processing using a graphics processor
First Claim
Patent Images
1. A method comprising:
- transmitting, by a central processing unit (CPU) of a mobile device, first neural network weights and second neural network weights to a graphics processing unit (GPU) for storage in memory of the GPU;
transmitting, by the CPU of the mobile device, a first set of shaders and a second set of shaders to the GPU for storage in the GPU memory, the first set of shaders configured to apply a first neural network using the first neural network weights, the second set of shaders configured to apply a second neural network using the second neural network weights;
generating one or more input images using an image sensor of the mobile device;
transmitting, by the CPU of the mobile device, instructions to the GPU to apply the first set of shaders and the second set of shaders to the one or more input images; and
displaying, on a display device of the mobile device, one or more modified images generated by the GPU by applying the first set of shaders and the second set of shaders to the one or more input images.
1 Assignment
0 Petitions
Accused Products
Abstract
A multistage neural network system can store neural networks as shader programs on GPU memory. Neural network weights can be stored as shader objects or textures on the GPU memory. The GPU can receive a number of neural network image processing tasks to perform on images captured by a client device. The GPU can execute the tasks per driver parameters and display results in real time or near real time on the client device.
-
Citations
20 Claims
-
1. A method comprising:
-
transmitting, by a central processing unit (CPU) of a mobile device, first neural network weights and second neural network weights to a graphics processing unit (GPU) for storage in memory of the GPU; transmitting, by the CPU of the mobile device, a first set of shaders and a second set of shaders to the GPU for storage in the GPU memory, the first set of shaders configured to apply a first neural network using the first neural network weights, the second set of shaders configured to apply a second neural network using the second neural network weights; generating one or more input images using an image sensor of the mobile device; transmitting, by the CPU of the mobile device, instructions to the GPU to apply the first set of shaders and the second set of shaders to the one or more input images; and displaying, on a display device of the mobile device, one or more modified images generated by the GPU by applying the first set of shaders and the second set of shaders to the one or more input images. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A mobile device comprising:
-
a central processing unit (CPU); a graphics processing unit (GPU); a memory storing instructions that, when executed by the CPU cause the mobile device to perform operations comprising; transmitting, by the central processing unit (CPU) of the mobile device, first neural network weights and second neural network weights to the graphics processing unit (GPU) for storage in memory of the GPU; transmitting, by the CPU of the mobile device, a first set of shaders and a second set of shaders to the GPU for storage in the GPU memory, the first set of shaders configured to apply a first neural network using the first neural network weights, the second set of shaders configured to apply a second neural network using the second neural network weights; generating one or more input images using an image sensor of the mobile device; transmitting, by the CPU of the mobile device, instructions to the GPU to apply the first set of shaders and the second set of shaders to the one or more input images; and displaying, on a display device of the mobile device, one or more modified images generated by the GPU by applying the first set of shaders and the second set of shaders to the one or more input images. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A machine-readable storage medium embodying instructions that, when executed by a machine, cause a central processing unit (CPU) of a mobile device to perform operations comprising:
-
transmitting first neural network weights and second neural network weights to a graphics processing unit (GPU) for storage in memory of the GPU; transmitting a first set of shaders and a second set of shaders to the GPU for storage in the GPU memory, the first set of shaders configured to apply a first neural network using the first neural network weights, the second set of shaders configured to apply a second neural network using the second neural network weights; generating one or more input images using an image sensor of the mobile device; transmitting instructions to the GPU to apply the first set of shaders and the second set of shaders to the one or more input images; and displaying one or more modified images generated by the GPU by applying the first set of shaders and the second set of shaders to the one or more input images.
-
Specification