I don’t want to change the learning rate, I just want to use the scheduler signal for invoking another function. for example, whenever ReduceLROnPlateau decides to change the learning rate ( because val_loss not going down anymore ) I want use this as an indicator for invoking a function or changing a part of model, not necessarily the learning rate.
def my_func():
    print('hi')

optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)
scheduler = ReduceLROnPlateau(optimizer, 'min')
for epoch in range(10):
    train(...)
     val_loss = validate(...)
     #scheduler.step(val_loss)
     if scheduler decide to change the learning rate :
          my_func()