A couple of months ago,  following (not the cleanest, but even works for multiple args) worked:
def elementwise_apply(fn, *args):
    return torch.nn.utils.rnn.PackedSequence(fn(*[(arg.data if type(arg)==torch.nn.utils.rnn.PackedSequence else arg) for arg in args]), args[0].batch_sizes)

and then
emb = elementwise_apply(embeds, packed)
Best regards
Thomas