I am trying to assign different weights to tensors in my batch when computing cross entropy loss.  The issue I am having is that these weights are not based on labels so I can’t seem to give them to nn.CrossEntropyLoss() as outlined at https://pytorch.org/docs/stable/nn.functional.html#cross-entropy 2.  For an example of what I am trying to do inside each batch:
criterion = CrossEntropyLoss_modified()
fake_outputs = torch.rand((2,2)) #single batch
labels = torch.randint(0,2,(2,))
weights = torch.tensor([.7,.3]) #these values will be changed for each batch and each item in the batch will have a weight assigned to it
criterion(fake_outputs, labels, weights) # should output a weighted loss

The length of the weights will be the length of the batch, not the length.
Is this doable?  Is there a better way to go about this?