Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix ESR loss #73

Merged
merged 51 commits into from
Jan 29, 2023
Merged

Fix ESR loss #73

merged 51 commits into from
Jan 29, 2023

Conversation

sdatkinson
Copy link
Owner

Resolves #52 (...again)

* Add dependencies to `setup.py`
* Add quick tests that require the dependencies to have been installed to work.
Fix where providing `delay=0` to `nam.data.Dataset`'s initializer cause it to wipe the whole input and output arrays.
New notebook `bin/train/colab.ipynb` for training models on Google Colab.
* Parametric data and Hypernet
* Validte data print path if fail
* Affine instead of layer norm, batchnorm momentum
* Tweak batchnorm momentum
* Fix test so data doesn't clip
* Export for HyperConvNet, tests

* Fix bool in CPP header
Closes #31

Implement DC loss of Eq. (19) of https://www.mdpi.com/2076-3417/10/3/766/htm, but without denominator term.
Closes #10

Energy-signal ratio loss metric of Eq. (10) of https://www.mdpi.com/2076-3417/10/3/766/htm
Closes #24 

* Implement an LSTM model.
* Config with some decent starting parameters as well as some hints.
* Some improvements to the training script
* Some refactoring to model exporting

Squash of:

* Better callbacks

* Rearrange training input JSONs

* np_to_wav, expose REQUIRED_RATE

* LSTM model

* Version bump to 0.3.0
Closes #36 

* A conditional LSTM where the input signal is concatenated with the parametric inputs.
* Example configurations with helpful tips commented.
* Quality of life improvements in the trainer script including functionality for `ConcatDataset`-type validation datasets
* Slicing of a single pair of WAV files into datasets at different parametric settings.

Squash of:

* Better callbacks

* Rearrange training input JSONs

* np_to_wav, expose REQUIRED_RATE

* LSTM model

* Version bump to 0.3.0

* Plot ConcatDatasets

* Flatten datasets inside a ConcatDataset

* CatLSTM

* Tests

* Config for CatLSTM

* Better error message on invalid nx
* Fix export for parametric models
* Version bump to 0.3.1
Smashing together a few things...

* Implements the WaveNet architecture (#43) (and the parametric version, concatenating the knobs as additional inputs i.e. "CatWaveNet")
* Speed up `ConcatDataset` access (#45)
* Deprecate use of `"nx"` in dataset config (#44)
* Increment version to 0.4.0

Commit notes:

* WaveNet

* Fix invalid broadcasting, rechannel needed

* CatWaveNet

* Faster lookup of data in ConcatDataset

* Gated, exporting weights work

* Fix bugs

* Fix export for parametric models

* Version bump to 0.3.1

* Exporting

* Move bias from the input mixer to the dilated conv, which is always used.

* Fix redundant conv in WaveNet head

* Fix bugs; works with plugin

* Automatically add nx to data config from model, check fewer than once per epoch

* Refactor for multiple layer sets

* Zero out through-connection for init (learn direct paths)

* Layer send to head before 1x1, remove zeroing init

* Fix bug: reintroduce out_length in head term

* Fix receptive field w/ non-2 kernel sizes

* Fix up WaveNet export

* cpp headers for WaveNet and CatWaveNet

* Improve docstring
@sdatkinson sdatkinson added the bug Something isn't working label Jan 29, 2023
@sdatkinson sdatkinson merged commit 8a3df26 into main Jan 29, 2023
@sdatkinson sdatkinson deleted the issue-52 branch January 29, 2023 08:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ESR calculation is wrong
1 participant