I’m confused about your code, why you fed the fake image to both G and D? The fake is the ouput of netG(noise). And, if you are training G, and you also want to get a prediction from D, why not JUST PRINT IT OUT, the prediction of D is needed when training for Gnet. Here is the code from example of G training:
        netG.zero_grad()
        label.fill_(real_label)
        output = netD(fake)
        print(output)        # here , if you want to print it, just print it. 
                             # the whole code just train G because it only 
                             # does optimizerG.step()
        errG = criterion(output, label)
        errG.backward()
        D_G_z2 = output.mean().item()
        optimizerG.step()