Thanks a lot for your answer albanD.
In order not to loose precision, I decided to use what you suggested (I didn’t know it existed) with
self.lstm = nn.LSTM(input_size=self.emb_dim,
                        hidden_size=n_lstm_units,
                        dropout=1-keep_prob).double()

instead of converting the output of the embedding layer. And it works fine. Thank you very much for your time and explanation!