Вы неправильно поняли, что делает self.hidden = nn.Linear(784, 256)
. Вы написали, что:
hidden
определяется как функция
, но это не так. self.hidden
является объектом класса nn.Linear
. И когда вы вызываете self.hidden(...)
, вы не передаете аргументы nn.Linear
; вы передаете аргументы в __call__
(определенный в классе nn.Linear
).
Если вы хотите получить более подробную информацию об этом, я подробно рассказал о том, как это работает в PyTorch: см. этот ответ .