Oh sorry I misunderstood what you said. Yea from my experience I always use Integer Encoding (e.g. [2, 3, 1, 1] vs [[0 0 1 0], [0 0 0 1], [0 1 0 0], [0 1 0 0] for CrossEntropyLoss and BCELoss 
The docs for CrossEntropyLoss 5 and BCELoss 1 / BCEWithLogitsLoss 2 both show examples using integer encoding the labels rather than one-hot encoding
The predictions that go into these loss functions are just the raw logits from the model