Trusted-AI / adversarial-robustness-toolbox

Adversarial Robustness Toolbox (ART) - Python Library for Machine Learning Security - Evasion, Poisoning, Extraction, Inference - Red and Blue Teams

Home Page:https://adversarial-robustness-toolbox.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyTorch classes that check torch.optim.lr_scheduler._LRScheduler

ndronen opened this issue · comments

In semi-recent versions of PyTorch, learning rate scheduler classes are no longer subclasses of _LRScheduler. They are now subclasses of LRScheduler. There are multiple references to _LRScheduler in ART (e.g. in the TRADES trainer). The references are now obsolete and lead to ValueError being raised even with a valid instance of a PyTorch LR scheduler.

Running adversarial_training_trades.py with PyTorch 2.0.1 should be sufficient to reproduce the problem.

I would recommend changing the ART code to just check whether the argument has a step attribute. It would be simplest that way.

Hi @ndronen Thank you very much for the notification. We'll take a look and include it in our future releases. Please let me know if you are interested to work on this issue.