Bahaa_Kattan:

does any one know why this name make the problem?


You are overwriting the loss criterion name with the loss output tensor of the criterion, so that the next iteration will fail:
# first iteration
# loss is the criterion here
loss = loss(output, labels.float())
# loss is a tensor from here on

# second iteration
# this will raise this error, since you are trying to call into the tensor
loss = loss(output, labels.float())