Hi,
I didn’t really understand the first question, but regarding the second question:
nn.Linear inherits from nn.Module 50 which implements the __call__(self, *input, **kwargs): function so when using self.linear(x) it’s actually calling to __call__() function