When I made the input size of these RLSTM same, like
        self.layer1 = RLSTMCell(input_size, hidden_size)
        self.layer2 = RLSTMCell(input_size, hidden_size)

then it works fine when I access param.grad. But I guess in Multilayer lstms, 2nd layer lstm takes input from the output of 1st layer lstm. In above situation I am sending the original input to both layers. Is this approach is also okay?