When you use nn.BCEWithLogLogits it internally applies a sigmoid. So no need to apply sigmoid in your forward step (using sigmoid in your forward is just creating possible numerical instability).
In binary classification the output is a single neuron, and taking argmax of it does not make sense. It will always output the index 0. Instead for output you should do an if condition if output[i]>0.5 then it belongs to class 1 else it belongs to class 0.
Also, you would have to manually add sigmoid at test time as you would have removed it from the forward step.