pytorch / opacus

Training PyTorch models with differential privacy
https://opacus.ai
Apache License 2.0
1.65k stars 328 forks source link

OverflowError: cannot convert float infinity to integer #637

Closed Tnia1 closed 1 month ago

Tnia1 commented 3 months ago

Traceback (most recent call last): File "D:\PFLlib\system\main.py", line 544, in run(args) File "D:\PFLlib\system\main.py", line 362, in run server.train() File "D:\PFLlib\system\flcore\servers\serveravg.py", line 51, in train client.train() File "D:\PFLlib\system\flcore\clients\clientavg.py", line 71, in train eps, DELTA = get_dp_params(privacy_engine) File "D:\Data\PFLlib\system\utils\privacy.py", line 37, in get_dp_params return privacy_engine.get_epsilon(delta=DELTA), DELTA File "E:\Workapp\Anaconda\envs\PFL\lib\site-packages\opacus\privacy_engine.py", line 502, in get_epsilon return self.accountant.get_epsilon(delta) File "E:\Workapp\Anaconda\envs\PFL\lib\site-packages\opacus\accountants\prv.py", line 97, in get_epsilon dprv = self._get_dprv(eps_error=eps_error, delta_error=delta_error) File "E:\Workapp\Anaconda\envs\PFL\lib\site-packages\opacus\accountants\prv.py", line 114, in _get_dprv domain = self._get_domain( File "E:\Workapp\Anaconda\envs\PFL\lib\site-packages\opacus\accountants\prv.py", line 150, in _get_domain return Domain.create_aligned(-L, L, mesh_size) File "E:\Workapp\Anaconda\envs\PFL\lib\site-packages\opacus\accountants\analysis\prv\domain.py", line 32, in create_aligned size = int(np.round((t_max - t_min) / dt)) + 1 OverflowError: cannot convert float infinity to integer

Process finished with exit code 1

i dont know how to discover,thank you

HuanyuZhang commented 3 months ago

i think it may be due to some bad setting of epsilon and delta. Changing those values might unblock you

HuanyuZhang commented 1 month ago

Close due to inactivity. Feel free to re-open it if it is not resolved.