self.linear_right = torch.nn.Sequential(
            torch.nn.Linear(20, (feature_dim + 20) // 2),
            torch.nn.ReLU(),
            torch.nn.Linear((feature_dim + 20) // 2, feature_dim),
            torch.nn.ReLU6()
        )
...
        mean_out = torch.mean(down_out, 2)

        linear_out = self.linear_right(mean_out)
        print('mean')
        print(mean_out)
        print(self.linear_right[2].weight)

I have something like that outputs:
mean
tensor([[0.00e+00, 0.00e+00, 3.66e+01, 0.00e+00, 0.00e+00, 0.00e+00, 7.40e+01, 5.98e+01, 5.52e+01, 0.00e+00,
         4.82e+00, 0.00e+00, 7.89e+00, 0.00e+00, 0.00e+00, 1.05e+00, 1.77e+01, 0.00e+00, 3.64e+01, 0.00e+00]],
       grad_fn=<MeanBackward1>)
Parameter containing:
tensor([[1.79e-02, 7.82e-02, -1.99e-02,  ..., 4.72e-02, 3.25e-03, 3.68e-02],
        [1.23e-01, 7.37e-02, -4.71e-02,  ..., 1.88e-02, -9.74e-02, -3.74e-02],
        [8.93e-02, 7.38e-02, -4.53e-02,  ..., 2.13e-02, -1.54e-02, -3.55e-02],
        ...,
        [-9.18e-02, 2.46e-02, 6.96e-02,  ..., -4.98e-02, -9.11e-02, -2.09e-02],
        [-4.82e-02, -9.72e-02, 8.65e-02,  ..., -6.63e-02, -5.12e-02, -6.78e-02],
        [3.11e-03, 1.28e-02, -6.40e-02,  ..., 4.17e-03, 5.25e-02, -1.37e-02]],
       requires_grad=True)
tensor([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
         0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
         0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
         0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
         0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
         0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
         0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]],
       grad_fn=<HardtanhBackward0>)

So the output of the linear_out = self.linear_right(mean_out) is all zeros, but the input isn’t and the weights aren’t. So why is it?