The goal: transform a 1d vector of length 512 into an 3x299x299 image.
The attempt is to transform each value of the vector into a 1x1 channel, then deconvolve/upsample from there. Sadly, trying to run ConvTranspose2d over a tensor of size (512, 1, 1) throws
Kernel size can not be greater than actual input size

Below is an illustration of the desired transformation.

pixelupsample831×320 25.5 KB

I can’t be the first one to try this, how is this usually done?