Don’t use torch.Tensor to initialize the parameters, as it’s usage is deprecated and undocumented.
Depending what input you are passing to Tensor you might get unexpected results as seen here:
# initializes the tensor with the value 64 as a FloatTensor
x = torch.Tensor([64])
print(x)
> tensor([64.])

# creates an uninitialized FloatTensor with the shape 64
x = torch.Tensor(64)
print(x)
> tensor([-2.2953e-03,  3.0882e-41, -3.0420e-03,  4.5762e-41,  8.9683e-44,
           0.0000e+00,  1.1210e-43,  0.0000e+00, -2.2953e-03,  3.0882e-41,
          -2.2955e-03,  3.0882e-41,  1.4013e-45,  3.0882e-41,  2.8026e-44,
           2.1019e-44,  2.8026e-44,  3.7835e-44,  2.8026e-45,  0.0000e+00,
          -2.2955e-03,  3.0882e-41, -2.2955e-03,  3.0882e-41,  2.8026e-44,
           0.0000e+00,  2.4803e-43,  0.0000e+00, -2.2962e-03,  3.0882e-41,
          -3.0420e-03,  4.5762e-41,  0.0000e+00,  0.0000e+00,  0.0000e+00,
           0.0000e+00,  2.8026e-44,  0.0000e+00, -4.1769e-05,  3.0882e-41,
           0.0000e+00,  0.0000e+00, -7.4630e-04,  4.5762e-41,  2.8026e-44,
           4.3440e-44,  1.3593e-43,  0.0000e+00, -2.2961e-03,  3.0882e-41,
          -2.2953e-03,  3.0882e-41,  2.3822e-44,  4.5762e-41, -2.2955e-03,
           3.0882e-41, -2.2955e-03,  3.0882e-41, -2.2955e-03,  3.0882e-41,
           2.8026e-44,  2.1019e-44,  4.6243e-44,  0.0000e+00])

Use the factory methods instead (e.g. torch.randn, torch.empty, torch.tensor).
I don’t know if you want to initialize the self.bias using a single value, but this might be the issue in your code.