Yes I have had such experience.
Now in my project, I split num_epochs into three parts.


num_epochs_1 warm up.

num_epochs_2 Adam for speeding up covergence.

num_epochs_3 momentum SGD+CosScheduler for training.

My friend used Adam without learning rate scheduler in his project, and he found that the loss started to rise after some epochs.
You can find some discuss here 211. Although Adam can adaptively adjust the learning rate, but such ability is limited.
At least, for me, I think momentum SGD is the most stable optimizer and Adam/AdamW is a good tick to speed up covergence.
All these are my personal experiences. Is it necessary to use a learning scheduler? Maybe as the answer in the link says,

It depends.