Just some random suggestions:

can you put  optimizer.zero_grad() before loss = criteron(output, label_tensor.view(360, 1)).
set model.train() before you start the training process

let me know if this does not work.