Most likely this view operation is wrong and creates the additional targets:
target_labels = target_labels.view(-1)

Since you are using nn.CrossEntropyLoss as the criterion, the target should have the shape [batch_size] and contain class indices in the range [0, nb_classes-1] for a multi-class classification use case.
Based on the target_labels shape, I assume your target has the shape [batch_size, 2] before the view operation is applied, which is wrong.
If the target is one-hot encoded, use target = torch.argmax(target, dim=1) to create the expected shape.