Hi,
In your forward method, you are not calling any of objects you have instantiated in __init__ method.
In Python, first you initilize a class and make an object, then use it:
self.conv1 = nn.Conv2d(#args)  # just init, now need to call it

# in forward
y = self.conv1(#some_input)

In none of your calls in forward you have specified input.
Look at the way you have initialized criterion2 and used it by passing inputs. You need to do the same thing for all layers in forward method.
I think before doing that, you need to read about basic PyTorch from available tutorials. It will help you to get started with it.
Bests