I assume your last layer is a convolution layer with a single output channel.
In that case your model will return logits, which are raw prediction values in the range [-Inf, +Inf].
You could map them to a probability in the range [0, 1] by applying a sigmoid on these values.
In fact, nn.BCEWithLogitsLoss will apply sigmoid and log on the input. However, it’ll use a numerical stable way than manually applying these methods separately.
If we are talking about the probabilities in the range [0, 1] and you would like to use a threshold of 0.5 to determine if the prediction is class0 or class1, you could use a threshold of 0.0 on the logits and you’ll get the same predictions.
So you shouldn’t be worried about the range of the output.
As explained before, don’t use torch.argmax, as it’ll return the max index in dim1, which will always be 0. torch.argmax is used for the multi-class approach, where each output channel corresponds to a class.