Hi, I am training a DCGAN to generate piano rolls of format 48 x 84 (grayscale). So far i am able to generate piano rolls at of 48 x 48. However I just could not get it to work for 48 x 84 and am getting desperate now. I am not looking for an exact solution but just really in need of some advice, for example what do I change if its not working, no of channels? filter size ? stride or it just would not work for this output size? I’m just kinda lost here. The architecture of the discriminator is the opposite of the generator. I am training the discriminator once and generator once for each iteration.
nz = 100
ngf = 64
nc = 1
nn.ConvTranspose2d( nz, ngf * 8, 4, 1, 0, bias=False),
nn.BatchNorm2d(ngf * 8),
nn.ReLU(True),
# torch.Size([25, 1024, 4, 4])
nn.ConvTranspose2d(ngf * 8, ngf * 4, (2,4), 2, 0, bias=False),
nn.BatchNorm2d(ngf * 4),
nn.ReLU(True),
#torch.Size([25, 256, 8, 10])
nn.ConvTranspose2d( ngf * 4, ngf * 2, (2,4), 2, 0, bias=False),
nn.BatchNorm2d(ngf * 2),
nn.ReLU(True),
#torch.Size([25, 256, 16, 22])
nn.ConvTranspose2d( ngf * 2, ngf, (3,4), (3,2), 2, bias=False),
nn.BatchNorm2d(ngf),
nn.ReLU(True),
#torch.Size([25, 256, 44, 42])
nn.ConvTranspose2d( ngf, nc, (7,4), (1,2), 1, bias=False),
#torch.Size([25, 128, 48, 84])
nn.Sigmoid()
I am not sure if here is the right place for asking, if its not I will take this down.