Multistage neural network processing using a graphics processor
AssigneeSnap Inc.
InventorsYanping Chen, Jaewook Chung, Wisam Dakka
Life of this patent
Estimating the term…
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.
Claims19
A method comprising:
- storing first neural network weights and second neural network weights on graphics processing unit (GPU) memory of a GPU;
- storing a first set of shaders and a second set of shaders on 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;
- identifying, using one or more processors of a machine, one or more input images;
- transmitting instructions to the GPU to apply the first and second set of shaders to the one or more input images, the instructions including a sync command requiring the first set of shaders to complete processing before other shaders are initiated;
- and
- displaying, a display device, one or more modified images generated by the GPU by applying the first and second set of shaders to the one or more input images.
A system comprising:
- one or more processors of a machine;
- and
- a memory storing instructions that, when executed by the one or more processors, cause the machine to perform operations comprising:
- storing first neural network weights and second neural network weights on graphics processing unit (GPU) memory of a GPU;
- storing a first set of shaders and a second set of shaders on 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;
- identifying one or more input images;
- transmitting additional instructions to the GPU to apply the first and second set of shaders to the one or more input images, the additional instructions including a sync command requiring the first set of shaders to complete processing before other shaders are initiated;
- and
- displaying, a display device, one or more modified images generated by the GPU by applying the first and second set of shaders to the one or more input images.
A machine-readable storage medium embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:
- storing first neural network weights and second neural network weights on graphics processing unit (GPU) memory of a GPU;
- storing a first set of shaders and a second set of shaders on 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;
- identifying one or more input images;
- transmitting additional instructions to the GPU to apply the first and second set of shaders to the one or more input images, the additional instructions including a sync command requiring the first set of shaders to complete processing before other shaders are initiated;
- and
- displaying, a display device, one or more modified images generated by the GPU by applying the first and second set of shaders to the one or more input images.
Dependencies are inferred from the claim text.