nuclear-multimessenger-astronomy / nmma

A pythonic library for probing nuclear physics and cosmology with multimessenger analysis
https://nuclear-multimessenger-astronomy.github.io/nmma/
GNU General Public License v3.0
33 stars 58 forks source link

Implement wide NN to approximate GP #102

Closed bfhealy closed 1 year ago

bfhealy commented 1 year ago

This PR modifies the NN used by tensorflow when running create_svdmodel. In an effort to approximate sklearn_gp performance, the NN is made wider and shallower.

mcoughlin commented 1 year ago

@weizmannk I suggest following this PR.

bfhealy commented 1 year ago

@mcoughlin I think training and inference run decently well with the latest NN architecture in this PR. Is it ok (W.R.T. proprietary data) if I post some diagnostic plot outputs from create_svdmodel and light_curve_analysis using Bu2022Ye and the lcs_bulla_2022 light curves?

mcoughlin commented 1 year ago

@bfhealy yup.

bfhealy commented 1 year ago

This plot shows the full tensorflow training results for Bu2022Ye with the lcs_bulla_2022 light curves.

injection_Bu2022Ye_lightcurves_2048_d0 6

bfhealy commented 1 year ago

Since there is some strange behavior at early times, I also ran training with tmin set to 0.5:

injection_Bu2022Ye_lightcurves_2048_d0 6_t0 5

bfhealy commented 1 year ago

This is the corner plot resulting from running light_curve_analysis on an injection using the trained model:

injection_corner

bfhealy commented 1 year ago

And this is the (crowded) light curve output from running light_curve_analysis:

lightcurves

mcoughlin commented 1 year ago

@bfhealy I suggest we roll forward with this. You can send the models to @Theodlz to have them put on Zenodo.

Thanks for making this happen.