Upsampling an image using one or more neural networks
Apparatuses, systems, and techniques are presented to generate images. In at least one embodiment, one or more neural networks are used to generate one or more images using one or more pixel weights determined based, at least in part, on one or more sub-pixel offset values.
1 . A system on a chip (SoC), comprising:
a graphics processing unit (GPU), comprising:
sets of graphics cores that share a cache memory;
memory coupled to the sets of graphics cores; and
wherein each of the graphics cores comprises:
an instruction cache;
a cache/shared memory;
integer logic units;
floating point logic units to perform at least one of 16-bit, 32-bit, or 64-bit floating point operations; and
matrix processing units (MPUs) to perform at least one of half-precision floating point or 8-bit integer operations;
an upscaler including a first neural network to generate an upsampled image;
a different second neural network to output weights based, at least in part, on a lower resolution image; and
wherein the SoC is to generate a high-resolution output image based, at least in part, on reconstructing the upsampled image generated by the first neural network using the weights output by the different second neural network.
2 . The SoC of claim 1 , further comprising a blending component to generate the high-resolution output image.
3 . The SoC of claim 1 , wherein the upscaler is to generate the upsampled image based, at least in part, on the lower resolution image.
4 . The SoC of claim 1 , wherein the upscaler is to perform an upsampling process for individual pixels of the lower resolution image to generate the upsampled image.
5 . The SoC of claim 1 , further comprising one or more central processing units (CPUs).
6 . The SoC of claim 1 , further comprising at least one display interface.
7 . The SoC of claim 1 , wherein the GPU further comprises a host interface to enable a connection with at least the SoC.
8 . The SoC of claim 1 , wherein the GPU further comprises one or more thread dispatchers.
9 . A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by a system on a chip (SoC), cause the SoC to at least:
generate an upsampled image using an upscaler including a first neural network;
output weights using a different second neural network, where the weights are to be generated based, at least in part, on a lower resolution image;
generate a high-resolution output image based, at least in part, on reconstructing the upsampled image using the weights output by the different second neural network; and
wherein the SoC comprises:
a graphics processing unit (GPU), comprising:
sets of graphics cores that share a cache memory;
memory coupled to the sets of graphics cores; and
wherein each of the graphics cores comprises:
an instruction cache;
a cache/shared memory;
integer logic units;
floating point logic units to perform at least one of 16-bit, 32-bit, or 64-bit floating point operations; and
matrix processing units (MPUs) to perform at least one of half-precision floating point or 8-bit integer operations.
10 . The non-transitory machine-readable medium of claim 9 , wherein the set of instructions further comprises instructions which, if performed by the SoC, cause the SoC to generate the upsampled image based, at least in part, on each individual pixel of the lower resolution image.
11 . The non-transitory machine-readable medium of claim 9 , wherein the SoC further comprises a blending component to generate the high-resolution output image.
12 . The non-transitory machine-readable medium of claim 9 , wherein the weights are to be usable by one or more other neural networks to generate the high-resolution output image.
13 . The non-transitory machine-readable medium of claim 9 , wherein the GPU further comprises one or more thread dispatchers.
14 . The non-transitory machine-readable medium of claim 9 , wherein the SoC further comprises one or more central processing units (CPUs).
15 . The non-transitory machine-readable medium of claim 9 , wherein the GPU further comprises a host interface to enable a connection with one or more processors.
16 . The non-transitory machine-readable medium of claim 9 , wherein the SoC further comprises one or more display interfaces to provide output.
17 . A method, comprising:
generating, by a system on a chip (SoC), an upsampled image;
outputting, by the SoC, weights from a neural network based, at least in part, on a lower resolution image; and
generating, by the SoC, a high-resolution output image based, at least in part, on reconstructing the upsampled image using the weights output by the neural network, wherein the SoC comprises:
a graphics processing unit (GPU), comprising:
sets of graphics cores that share a cache memory;
memory coupled to the sets of graphics cores; and
wherein each of the graphics cores comprises:
an instruction cache;
a cache/shared memory;
integer logic units;
floating point logic units to perform at least one of 16-bit, 32-bit, or 64-bit floating point operations; and
matrix processing units (MPUs) to perform at least one of half-precision floating point or 8-bit integer operations.
18 . The method of claim 17 , wherein the SoC further comprises an upscaler including at least one neural network to generate the upsampled image.
19 . The method of claim 18 , wherein the at least one neural network is a convolutional neural network.
20 . The method of claim 17 , wherein the SoC further comprises a blending component to generate the high-resolution output image.
21 . The method of claim 20 , wherein the blending component comprises one or more other neural networks to generate the high-resolution output image based, at least in part, on the weights output by the neural network.
22 . The method of claim 17 , wherein the SoC further comprises the neural network to generate the weights.
23 . The method of claim 17 , wherein the weights are to be generated by a convolutional neural network and are to be usable by another neural network to generate the high-resolution output image.
24 . The method of claim 17 , further comprising outputting the high-resolution output image by one or more display interfaces of the SoC.
25 . The method of claim 17 , wherein the GPU further comprises one or more thread dispatchers.
26 . A system comprising:
one or more systems on a chip (SoCs) to:
generate an upsampled image using an upscaler including a first neural network;
output weights using a different second neural network, where the weights are to be generated based, at least in part, on a lower resolution image;
generate a high-resolution output image based, at least in part, on reconstructing the upsampled image using the weights output by the different second neural network; and
wherein the one or more SoCs comprise:
a graphics processing unit (GPU), comprising:
sets of graphics cores that share a cache memory;
memory coupled to the sets of graphics cores; and
wherein each of the graphics cores comprises:
an instruction cache;
a cache/shared memory;
integer logic units;
floating point logic units to perform at least one of 16-bit, 32-bit, or 64-bit floating point operations; and
matrix processing units (MPUs) to perform at least one of half-precision floating point or 8-bit integer operations.
27 . The system of claim 26 , wherein the one or more SoCs further comprise a blending component to generate the high-resolution output image.
28 . The system of claim 27 , wherein the blending component comprises one or more other neural networks to generate the high-resolution output image.
29 . The system of claim 26 , wherein the one or more SoCs are to generate the upsampled image based, at least in part, on each individual pixel of the lower resolution image.
30 . The system of claim 26 , wherein the GPU further comprises one or more thread dispatchers.
31 . The system of claim 26 , wherein the one or more SoCs further comprise one or more central processing units (CPUs).
32 . The system of claim 26 , wherein the one or more SoCs further comprise one or more display interfaces to output the high-resolution output image.
33 . The system of claim 26 , wherein the weights are to be usable by one or more other neural networks to generate the high-resolution output image.