Hi @ecolss. Yes to your first question, to move to GPU you need to call model = model.cuda()  and input = input.cuda().
No to your second question–the pack_padded_sequence() function expects a Python iterable object living on the CPU, so you should not call .cuda() on the input_lengths param.
Stephen