Using the example from the README.md as part of the repository, I am able to get it running after a few minor tweaks (mostly around the precision of the Tensors as I am running this on an M3 Mac!). The final value though is orders of magnitude smaller than the one reported - The command used and output can be seen below
>> python3 main.py --data mnist --model dnn --epochs 50 --batch_size 256 --device 0 --method fo_solver --lanczos --init schur --fo_lr 0.04 --lan_steps 20 --groups 3
accuracy is 97.82%
Number of parameters: 203530
the constraint size of the SDP is: 1041
The FO SDP gives: 0.000201246 , which takes time 17.10497212409973
This is in contrast to the baseline norm-product approach which returns a similar figure:
>> python3 main.py --data mnist --model dnn --epochs 50 --batch_size 256 --device 1 --method product
accuracy is 97.82%
Number of parameters: 203530
The norm product is: 9.33021 , which takes time 0.007447004318237305
I have also looked at the appendix of the paper and re-run the experiments using the hyper parameters. I am getting similar results as the ones demonstrated above.
Is this the expected behaviour?
Using the example from the README.md as part of the repository, I am able to get it running after a few minor tweaks (mostly around the precision of the Tensors as I am running this on an M3 Mac!). The final value though is orders of magnitude smaller than the one reported - The command used and output can be seen below
This is in contrast to the baseline norm-product approach which returns a similar figure:
I have also looked at the appendix of the paper and re-run the experiments using the hyper parameters. I am getting similar results as the ones demonstrated above.
Is this the expected behaviour?