Solved by ptrblck in post #2 
              
              
                If you are passing the epoch argument to StepLR, it will be ste in this line of code and used to calculate the learning rate here. 
Since you are passing the average training loss, this should influence your learning rate scheduler.