pytorch/torch/optim
bskrlj 8e27833e30 Ensure SWA boundary conditions w.r.t. definition (#133773)
According to the documentation, decay is a number in [0,1] range,[ i.e.](https://pytorch.org/docs/stable/optim.html)
```
Decay is a parameter between 0 and 1 that controls how fast the averaged parameters are decayed. If not provided to get_ema_multi_avg_fn, the default is 0.999.
```
An inspection of `swa_utils.py`  indicates there are no checks for invalid values of `decay`. Adding asserts as suggested in this PR ensures valid compute range (one way to enforce correct behavior, there are perhaps more suitable ones). Papers `torch` cites for reference idea/implementation also consider exclusively this range (e.g., https://arxiv.org/pdf/2310.04415).

Fixes https://github.com/pytorch/pytorch/issues/133772

Pull Request resolved: https://github.com/pytorch/pytorch/pull/133773
Approved by: https://github.com/janeyx99
2024-10-31 18:24:08 +00:00
..
_multi_tensor
__init__.py
_adafactor.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
_functional.py
adadelta.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
adagrad.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
adam.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
adamax.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
adamw.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
asgd.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
lbfgs.py
lr_scheduler.py Remove unused Python variables in torch/[b-z]* (#136963) 2024-10-19 16:45:22 +00:00
nadam.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
optimizer.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
radam.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
rmsprop.py RMSprop docs: add missing input "epsilon" (#137854) 2024-10-15 16:40:42 +00:00
rprop.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
sgd.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
sparse_adam.py Add Support for Tracking Parameter Names (named_parameters) in Optimizer State Dict (#134107) 2024-10-14 19:24:44 +00:00
swa_utils.py Ensure SWA boundary conditions w.r.t. definition (#133773) 2024-10-31 18:24:08 +00:00