It is easiest to work with images with spatial dimensions in base-2. So to build on richard’s advice, just scale your pokemons at import with torchvision.transforms.Resize(256) or something and then you can use the layer args from DCGAN like this:
x = Variable(torch.randn(1, 100, 1, 1))

layer = nn.ConvTranspose2d(100, 100, 4, stride=2, padding=1, bias=False)

out = layer(x) # [1, 100, 1, 1] -> [1, 100, 2, 2]
out.size()

# out = layer(out)
# uncommenting above will make out.shape() == [1, 100, 4, 4]

Where repeating layers with these args will double the spatial dimensions of your images at each step.
You can also, of course, target your specific size. But I don’t know of a formula that will predict output sizes for ConvTranspose. CS231n 10 has one for Conv layers (about 1/3 of the way down) so that might provide some insight.
Good luck!