Solved by albanD in post #5 
              
              
                Versions are a way to track inplace operations. every time a tensor is modified inplace, its version counter is incremented by 1. 
You might be modifying the output or hidden inplace after it is returned by the encoder gru. In the rest of your forward pass.