Code to reproduce the experiments reported in the paper:
@article{loizou2020stochastic}
title={Stochastic Hamiltonian Methods for Smooth Games},
author={Loizou, Nicolas and Berard, Hugo and Jolicoeur-Martineau, Alexia and Vincent, Pascal and Lacoste-Julien, Simon and Mitliagkas, Ioannis},
journal={International Conference on Machine Learning},
year={2020}
}
We provide a file requirements.yml
with the list of requirements. To create a new conda environement with the correct requirements, run:
conda env create -f requirements.yml
To reproduce the results of the bilinear experiment run:
python run_bilinear.py [OUTPUT_PATH]
Note:
- This will take around 4 hours to complete.
- You can get faster results by decreasing the number of iterations with the option
--num-iter [50000]
- You can also decrease the number of seeds with the option:
--num-seeds [5]
(using only 1 seed will reduce the amount of time it takes to complete by 5) - You can also choose evaluate the different methods separately with the option:
-m [MODE]
where[MODE]
can be ("shgd-constant"
,"shgd-decreasing"
,"shgd-biased
,"svrh"
,"svre"
)
To reproduce the results of the sufficiently-bilinear experiment run:
python run_sufficiently_bilinear.py [OUTPUT_PATH]
Note:
- This will take around 1 day to complete.
- You can get faster results by decreasing the number of iterations with the option
--num-iter [200000]
- You can also decrease the number of seeds with the option:
--num-seeds [5]
(using only 1 seed will reduce the amount of time it takes to complete by 5) - You can also choose evaluate the different methods separately with the option:
-m [MODE]
where[MODE]
can be ("shgd-constant"
,"shgd-decreasing"
,"shgd-biased
,"svrh"
,"svrh-restart
,"svre"
)
- Run the jupyter notebook notebok/GAN.ipynb (This can be done by uploading GAN.ipynb to google Colab or making a copy of the read-only version here: https://colab.research.google.com/drive/16zh-Ma-vayaoHP6NhuWr6uJjoabDMsVb?usp=sharing)