Define neural network layer

Good morning every one,
I am new in neural network and I try to experiment on, I am a bit confused of the meaning of these different way to define neural network layer.
Could anyone help me to understand the difference of this different line please.



1. self.relu(self.fc1(x))

It first pass x to a fully connected layer fc1(), then the output of fc1() is passed to a relu()

2. self.relu(self.hidden(x))

It seems it defined a hidden() layer somewhere in the model, and just like self.relu(self.fc1(x)), the output of this hidden() layer is passed to a relu()

3. self.fc1(self.hidden(x))


4. self.fc1(self.relu(self.hidden(x)))

Now it is a three-layer NN, hidden()->relu()->fc1()

@zcajiayin Thank you for your response.