nn.Module (which nn.Conv1d and all the nn. modules extend), implements the __call__ magic method so that it can be used like a function as in your example. The implementation can be found here 2. Using __call__ has some extra processing for forward/backward hooks, but, as you have found, its main job is to call forward()