Changes
Wiki
* **Brand New!** Created with mkdocs-material: [sapsan-wiki.github.io](https://sapsan-wiki.github.io/)
* Powerful search function
* Redesigned API
* Improved navigation
* Versioning
* Dark mode: automatically adjusts based on system preferences
* Wiki on Github has been depreciated
Estimators
* Significant improvements to the `PIMLturb` estimator
- cleaned up redundancies improving the performance
and readability
- generalized the approach to calculate CDF and KS loss
- now works with the 1D CCSN calculations
- should be consistent no matter the scale of the data
- added `ks_frac`, `ks_scale`, `l1_scale`, `l1_beta`, `sigma` to be adjusted upon calling the estimator
- learn more at [PIMLTurb API](https://sapsan-wiki.github.io/api/#pimlturb)
- scientific notation for `PIMLturb` loss stdout
- Fixed `SmoothL1_KSLoss` train/valid output
- `PIMLturb` now logs the model, optimizer, and scheduler parameters through MLflow
GUI
* Updated GUI examples, adding compatibility with `streamlit=1.12.0`
- significant improvements to UI through st.expander
* Converted GUI to use `st.session_state` for all widgets
- that fixed config reloading
- included minor quality of life features
- significantly reduced the complexity of the code
* *Fixed:* editing the model code with jupyter notebooks
* Added:
* progress bar
* slice plots
* Dark Mode
CLI
* Lighter __init__, improved CLI speed x3
* Affected syntax:
* Past: `from sapsan import Train, Evaluate`
* New: `from sapsan.lib import Train, Evaluate`
* *Fixed:* paths with CLI commands
Examples
* Examples now include output
* Updated sample data for picae
* randomly sampled from a normal distribution
* Returned `FakeBackend()`
* makes it easier to disable logging everywhere in one line
* Cleaned up Examples to be up-to-date on comments
Plotting
* Beautified colormap bar
* always equals to the size of the plot itself
* slimmed down
* Added: `dpi` parameter to plot functions
* Default: `dpi=60` for all to avoid 'ballooning' in small margin jupyter notebooks
* Added: `cdf_plot()`, an exception if value ranges don't overlap, hence KS stat cannot be calculated
MLflow
* Train will try to log forward() of your model
- no longer Catalyst exclusive
- won't cause an error with scikit-learn
Compatibility
* Added: `python=3.9` and `3.10` support
* `streamlit==0.84.0` -> **`streamlit>=1.12.0`**
* major improvements
* not backward compatible
Other
* README: added shields.io badges to track sapsan and compatible python versions
* Fixed `setuptool` installation: `python setup.py install`
* Github Workflow updates and improvements. Added tests for PyPI, CLI, python 3.9, 3.10