I’d at least say it is not recommended to use any label that is not in the range [0, C-1]. According to the documentation (see my last answer), there is an optional parameter called ignore_index, but it states:

Specifies a target value that is ignored and does not contribute to the input gradient. When size_average is True, the loss is averaged over non-ignored targets. Note that ignore_index is only applicable when the target contains class indices.

So you could write
loss_function = torch.nn.CrossEntropyLoss(reduction='mean', ignore_index=-1)

and it won’t give you an error message, but then this target does not contribute to the input gradients. I don’t think this is what you want.
So as I wrote in my last answer, you could simply add 1 to your labels. For example, say that your labels are a PyTorch tensor containing -1, 0 and 1. If you do
labels += 1

the addition will happen elementwise and your labels are in the right range. Try it for yourself.
PS: Just to make sure: You do intend to use the categorical cross entropy loss, right? If not, what is the loss you want to use?