Solved by timbmg in post #8 
              
              
                Yes. I merged the sequence and batch dimension: 
x = x.view(seq_length*batch_size, hidden_dim)

Then process it through the mlp, which you can do now. The first dimension acts as batch. 
x = mlp(x)

Eventually you can reshape it back: 
x = x.view(seq_length, batch_size, mlp_out_dim)