This is great, but two questions?
1)Can you just create one layer instead of a list of the same layers time_step times and just loop the output through that single layer? Should be the same right?
2) if you compare the number of parameters using Keras TimeDistributed and this implementation you see that it increase quite a lot. Seems like Pytorch creates all time_step times layers.