The classification layer in the CycleGAN discriminator seems to be a PatchGAN that classifies whether overlapping image patches are real or fake. A couple things probably deserve explanation:
1) What PatchGANs are and why they're used here.
2) How the dimensions work out in notebook. As it is, the forward pass creates a 1x7x7 output for each example. Then all these predictions for all images are average out in the MSELoss.
The classification layer in the CycleGAN discriminator seems to be a PatchGAN that classifies whether overlapping image patches are real or fake. A couple things probably deserve explanation: 1) What PatchGANs are and why they're used here. 2) How the dimensions work out in notebook. As it is, the forward pass creates a 1x7x7 output for each example. Then all these predictions for all images are average out in the MSELoss.