I think its because your not concatenating hidden tensor at
hidden = (torch.randn(1, 48, 128), torch.randn(1, 48, 128))


but just creating a list. This means you get a list of length 2, whereas Torch expects tensor of size [2,48,128]
Instead, using the torch.cat command
a = torch.randn(1, 48, 128)
b = torch.randn(1, 48, 128)
hidden = torch.cat((a,b))

hidden.size() will give you a shape of (2,48,128). Hope this works.