Sorry, tired-head
#path = "D:/projects/Neural_Networks/coursera_v2/coursera/samples/sample_image.JPG"
#print(os.path.exists(path))
CP = torch.load(PATH)
net.load_state_dict(CP['model_state_dict'])
optimizer.load_state_dict(CP['optimizer_state_dict'])
net.eval()

sample = test_X[0:0 + BATCH_SIZE].view(-1, 1, 50, 50)
sample = sample.to(device)
#with torch.no_grad():
output = net(sample)
print(output, "=?", y)

output:
tensor([[0.5262, 0.4738],
        [0.4902, 0.5098],
        [0.5168, 0.4832],
        [0.5221, 0.4779],
        [0.5194, 0.4806],
        [0.5202, 0.4798],
        [0.5314, 0.4686],
        [0.4758, 0.5242],
        [0.5112, 0.4888],
        [0.5211, 0.4789],
        [0.4424, 0.5576],
        [0.5285, 0.4715],
        [0.5028, 0.4972],
        [0.5260, 0.4740],
        [0.5188, 0.4812],
        [0.4901, 0.5099],
        [0.4978, 0.5022],
        [0.5263, 0.4737],
        [0.5042, 0.4958],
        [0.5131, 0.4869],
        [0.4867, 0.5133],
        [0.5095, 0.4905],
        [0.5131, 0.4869],
        [0.5183, 0.4817],
        [0.5271, 0.4729],
        [0.4828, 0.5172],
        [0.3326, 0.6674],
        [0.5277, 0.4723],
        [0.5032, 0.4968],
        [0.5120, 0.4880],
        [0.4935, 0.5065],
        [0.5211, 0.4789],
        [0.5047, 0.4953],
        [0.5116, 0.4884],
        [0.4575, 0.5425],
        [0.4901, 0.5099],
        [0.5274, 0.4726],
        [0.3905, 0.6095],
        [0.5228, 0.4772],
        [0.5022, 0.4978],
        [0.5184, 0.4816],
        [0.4686, 0.5314],
        [0.5269, 0.4731],
        [0.5301, 0.4699],
        [0.3842, 0.6158],
        [0.5019, 0.4981],
        [0.3743, 0.6257],
        [0.5181, 0.4819],
        [0.5249, 0.4751],
        [0.5182, 0.4818],
        [0.5230, 0.4770],
        [0.5179, 0.4821],
        [0.3982, 0.6018],
        [0.3678, 0.6322],
        [0.5241, 0.4759],
        [0.4905, 0.5095],
        [0.5161, 0.4839],
        [0.5165, 0.4835],
        [0.4989, 0.5011],
        [0.4563, 0.5437],
        [0.5252, 0.4748],
        [0.5284, 0.4716],
        [0.4954, 0.5046],
        [0.3056, 0.6944],
        [0.4673, 0.5327],
        [0.3595, 0.6405],
        [0.5051, 0.4949],
        [0.5013, 0.4987],
        [0.5112, 0.4888],
        [0.2500, 0.7500],
        [0.5266, 0.4734],
        [0.5135, 0.4865],
        [0.5213, 0.4787],
        [0.5234, 0.4766],
        [0.5277, 0.4723]], device='cuda:0', grad_fn=<SoftmaxBackward>) =? tensor([[0., 1.],
        [1., 0.],
        [0., 1.],
        ...,
        [0., 1.],
        [1., 0.],
        [1., 0.]])

And how you managed to get labels is, I guess by simply observing which side is greater, am i right?
Then these goes like as (an array):
[0, 1, 0, 0, 0, 0, 0, 1,0, 0, 1, 0, 0, 0, 0, 1 , 1, 0...]

Where to go from here?
Also, thanks for your interest. ^^
EDIT: with no grad
tensor([[0.4923, 0.5077],
        [0.4956, 0.5044],
        [0.4919, 0.5081],
        [0.4925, 0.5075],
        [0.4923, 0.5077],
        [0.4915, 0.5085],
        [0.4930, 0.5070],
        [0.5804, 0.4196],
        [0.4914, 0.5086],
        [0.4954, 0.5046],
        [0.5091, 0.4909],
        [0.4925, 0.5075],
        [0.4925, 0.5075],
        [0.4929, 0.5071],
        [0.4925, 0.5075],
        [0.4914, 0.5086],
        [0.4926, 0.5074],
        [0.4922, 0.5078],
        [0.4933, 0.5067],
        [0.4881, 0.5119],
        [0.4916, 0.5084],
        [0.4918, 0.5082],
        [0.4915, 0.5085],
        [0.4920, 0.5080],
        [0.4923, 0.5077],
        [0.4914, 0.5086],
        [0.5260, 0.4740],
        [0.4927, 0.5073],
        [0.4921, 0.5079],
        [0.4933, 0.5067],
        [0.4920, 0.5080],
        [0.4932, 0.5068],
        [0.4915, 0.5085],
        [0.4943, 0.5057],
        [0.5046, 0.4954],
        [0.4854, 0.5146],
        [0.4970, 0.5030],
        [0.5419, 0.4581],
        [0.4924, 0.5076],
        [0.4933, 0.5067],
        [0.4943, 0.5057],
        [0.4934, 0.5066],
        [0.4925, 0.5075],
        [0.4931, 0.5069],
        [0.5168, 0.4832],
        [0.4916, 0.5084],
        [0.5217, 0.4783],
        [0.4922, 0.5078],
        [0.4937, 0.5063],