Thanks. I started from the seq2seq tutorial, but somewhere along the way things apparently went wrong. Unofrtunately I hadn’t put my code into version control yet so it is hard to traceback my steps. As a last resort I’ll try again from scratch.

In my case I need a linear between the embedding and the RNN because the embeddings are pretrained and  sembedding  are pretrained, but they are not the same size. So I need a linear transformation from on to the other
you are right, yet disabling bidrectionality does not change anything
from what I have read, I think batched decoding is not an issue: in your loss function you just ignore the index for the padding token. Yes, you have some computational overhead for items in the batch that have already reached their EOS, but that’s generally worth it compared to the gains that you get from batch_sizes of 64 and more. It does require more memory, though

Thanks for your input!