Solved by ptrblck in post #2 
              
              
                As described in the docs nn.GRU yields two outputs: output and h_n. 
You are unwrapping the second return value into h_n and h_c, which works fine if a single layer is used, since the shape of h_n is defined as [directions * num_layers, batch_size, H_out] (directions=2 since you are using bidirectio…