Thank you, you’re right, that small change fixed that error 
I’m still stuck on the evaluation though…
I tried
criterion = nn.CrossEntropyLoss()
labels = sample_batch["labels"]
criterion(predictions, labels)

but I get the same RuntimeError: 1D target tensor expected, multi-target not supported error.
And I think there is something wrong with my predictions in general.
My labels are of shape [8, 5] but predictions are [8, 5509]. Shouldn’t they be the same? Or something like [8,5,4]?