Thanks for posting the example on your blog (…DataLoader-Pad-Pack-Sequence.html), I found it extremely useful.  One of the things which is seemingly glossed over is the initialization of the hidden state
output_packed, hidden = rnn(x_packed, hidden)

can you please elaborate on how to initialize the hidden state.  Should it be done

beginning of every minibatch?
beginning of every epoch?
values set to 0 or random values?
should the hidden state be explicitly saved and passed back in?

Thx.