I tried this and I still get the same error. This is what I have:
    def __init__(self):
        # python requires to call ancestor's initilizer manually!
        super(TeacherUpdated, self).__init__()
        self.num_layers = 3
        self.hidden_size = 200
        self.lstm = nn.LSTM(53, self.hidden_size, self.num_layers, batch_first=True).double()
        self.linear = nn.Linear(200, 2)

    def init_state(self, batch_size):
        return (torch.zeros(self.num_layers, batch_size, self.hidden_size),
                torch.zeros(self.num_layers, batch_size, self.hidden_size))

    def forward(self, x):
        hs = self.init_state(200)
        x, hs = self.lstm(x, hs)
        x = x.reshape(-1, 200)
        x = self.linear(x)
        return x