I got the same error when I trained Neural Net with GPU but not when I trained on CPU.
I think the problem is, when trained on GPU, the embeddings are still on GPU but when you try to use it on CPU, it throws the error that the data are not on same device.
It can be solved with a simple fix:
emb = learner.model.embeds[i].cpu()
Just move the data to CPU before using it!