Umami merge requestshttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests2021-12-15T15:03:15+01:00https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/304Fix memory leak issues in Umami, DIPS2021-12-15T15:03:15+01:00Alexander FrochFix memory leak issues in Umami, DIPSThis MR fixes the known memory issues of DIPS. The `convert_to_tensor` option was not set when loading the validation data.This MR fixes the known memory issues of DIPS. The `convert_to_tensor` option was not set when loading the validation data.Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/435Fixing LRR issue and define validation n_jets and WP2022-02-18T11:54:43+01:00Alexander FrochFixing LRR issue and define validation n_jets and WPThis MR adds the following:
* Adding a validation specific `n_jets` and `WP` to the train configs (It is backward compatible). Documentation is added.
* Fixing an issue when disabling the Learning Rate Reducer (is fixed with a list wher...This MR adds the following:
* Adding a validation specific `n_jets` and `WP` to the train configs (It is backward compatible). Documentation is added.
* Fixing an issue when disabling the Learning Rate Reducer (is fixed with a list where the callbacks are appended to when they are initialized).
* Adapting the `plotting_epoch_performance.py` script. Per default, the validation json which is created with the `MyCallback` function is used when no argument (except the `-c`) is given (based on the parameters inside the train config).
* The `--dict` option in `plotting_epoch_performance.py` is still available. With this, you can use a validation json which not fits (name-wise).
* Added the `--recalculate` flag to `plotting_epoch_performance.py` which is now the command to recalculate the validation json.Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/284Fixing loading of validation files (only a small time consuming bug)2021-12-06T14:02:23+01:00Alexander FrochFixing loading of validation files (only a small time consuming bug)This MR adds the following:
- Fixing the loading of the jets in the validation stage (it was somehow loops weirdly over it. Just time bug.)
- Adding the `jet_variables` to the `GetTest` functions (For DIPS Cond att).
- Checking in DIPS ...This MR adds the following:
- Fixing the loading of the jets in the validation stage (it was somehow loops weirdly over it. Just time bug.)
- Adding the `jet_variables` to the `GetTest` functions (For DIPS Cond att).
- Checking in DIPS Cond att if the conditional feature is used or not and load the proper validation data needed.
- Cleaned the config yaml's a bit (set `exclude` to null)
- Remove a little artifact from docsAlexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/173Fixing Calc_Validation_Metrics2021-09-07T11:32:38+02:00Alexander FrochFixing Calc_Validation_MetricsThis MR fixes #65. It adds a try and except block around the loading of the validation json file.This MR fixes #65. It adds a try and except block around the loading of the validation json file.Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/430Fixing all issues of darglint and removing unused functions2022-02-16T16:50:23+01:00Alexander FrochFixing all issues of darglint and removing unused functionsThis MR fixes all `darglint` issues and removes the `MakePlots` and `Plot_vars` fuctions (outdated). Related to #61 and #145
The file `umami/train_tools/Plotting.py` is now excluded from darglint due to issues of darglint with the sphi...This MR fixes all `darglint` issues and removes the `MakePlots` and `Plot_vars` fuctions (outdated). Related to #61 and #145
The file `umami/train_tools/Plotting.py` is now excluded from darglint due to issues of darglint with the sphinx documentation style in the docstrings
closes https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/issues/97 #145Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/319Enforcing line length2021-12-17T09:48:22+01:00Manuel GuthEnforcing line lengthThis MR enforces a new line length of `88` which is recommended by black.
it is now enforced in the flake8 linting and added it to black as well
any doc string formatting is ignored in this MR
first step towards #105This MR enforces a new line length of `88` which is recommended by black.
it is now enforced in the flake8 linting and added it to black as well
any doc string formatting is ignored in this MR
first step towards #105https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/65Dips Plotting Updates + Bug fix2021-03-11T12:42:04+01:00Alexander FrochDips Plotting Updates + Bug fixThis MR fixes the following things:
1: Adding the possibility to define the plot datatype in for the training metrics plots in the training config yaml.
2: Fixes an issue with the training metrics plotting from dips.
3: Adding ...This MR fixes the following things:
1: Adding the possibility to define the plot datatype in for the training metrics plots in the training config yaml.
2: Fixes an issue with the training metrics plotting from dips.
3: Adding uncertainties for scores plots and some new optional features.
4: Small update on the dips doc about how to use the `plotting_epoch_performance.py`Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/49Dips Develop2021-02-12T09:57:51+01:00Alexander FrochDips DevelopDifferent things will be added/fixed with this MR:
1: Closes #33. Adding the possibility to load pre-trained models.
2: Updating some docs for DIPS and the framework itself.
3: Adding Saliency Maps for DIPS.
4: Adding Epoch ...Different things will be added/fixed with this MR:
1: Closes #33. Adding the possibility to load pre-trained models.
2: Updating some docs for DIPS and the framework itself.
3: Adding Saliency Maps for DIPS.
4: Adding Epoch Label to Plot-File names.
5: Adding the batch-wise load of the training dataset for DIPS.
6: Fixing the issue that the Legend of some plots are overlaying the curves in some plots.
7: Linting in some filesAlexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/422CI improvements2022-02-15T18:51:20+01:00Manuel GuthCI improvementsThis MR
- fixes pylint, which started to fail after !418
- updates until test CI definition making it easier
- updates CI for pushing to hub removing unnecessary duplicationThis MR
- fixes pylint, which started to fail after !418
- updates until test CI definition making it easier
- updates CI for pushing to hub removing unnecessary duplicationhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/181Changing the Naming of the output models2021-10-07T12:38:55+02:00Alexander FrochChanging the Naming of the output modelsThis MR will change the naming of the saved models while training a bit. The model number will now have dips_model001.h5 instead of dips_model01.h5 for exampleThis MR will change the naming of the saved models while training a bit. The model number will now have dips_model001.h5 instead of dips_model01.h5 for exampleAlexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/192Add weighting class2021-12-01T11:32:57+01:00Frederic RennerAdd weighting classThis adds the Weighting class to calculate sample_weights as a preprocessing method. I also did some general refactoring from the ```Undersampling``` class into the ```Resampling``` base class to avoid code duplication. I would like to h...This adds the Weighting class to calculate sample_weights as a preprocessing method. I also did some general refactoring from the ```Undersampling``` class into the ```Resampling``` base class to avoid code duplication. I would like to hear your opinion on it.
Closes #64https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/436Add TFRecords support for CADS2022-02-22T17:36:37+01:00Alexander FrochAdd TFRecords support for CADSThis MR adds TFRecords support for CADSThis MR adds TFRecords support for CADSAlexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/320Adding tfrecords for DIPS2021-12-17T11:39:15+01:00Alexander FrochAdding tfrecords for DIPSAlexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/269Adding Paths and fixing variable cuts2021-11-29T16:25:27+01:00Alexander FrochAdding Paths and fixing variable cutsThis MR adds the following:
- Removing some artifacts from `dips_cond_att`.
- Changing the paths were the model files are saved. There is now a directory called `model_files`.
- Fixing the `variable_cuts` in the train config files and a...This MR adds the following:
- Removing some artifacts from `dips_cond_att`.
- Changing the paths were the model files are saved. There is now a directory called `model_files`.
- Fixing the `variable_cuts` in the train config files and add them to the integration tests.
- Removing an artifact in the `preprocessing.md`.
Closes #84Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/171Adding new tf_tools and new conditional deep sets model2021-10-19T11:47:28+02:00Alexander FrochAdding new tf_tools and new conditional deep sets modelThis MR restructures the definition of the neural network models. All tensorflow/keras related functions (model definitions, custom layers, generators) are now in a separate folder `umami/tf_tools.
Also the new conditional deep sets...This MR restructures the definition of the neural network models. All tensorflow/keras related functions (model definitions, custom layers, generators) are now in a separate folder `umami/tf_tools.
Also the new conditional deep sets model + all needed custom layers from @mguth and @jraine will be added in this step.Preprocessing rewriteAlexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/339Adding more flexibility for validation and test file usage2022-01-27T19:28:09+01:00Manuel GuthAdding more flexibility for validation and test file usageThis is a kind of epic MR collecting intermediate changes towards the resolution of the issue
Closes #112This is a kind of epic MR collecting intermediate changes towards the resolution of the issue
Closes #112Manuel GuthManuel Guthhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/500Adding continue_training option2022-04-05T16:49:15+02:00Alexander FrochAdding continue_training option## Summary
This MR introduces the following changes
* Adding `continue_training` option for all models. With that, you can continue a broken training. For example, if your Job was killed due to time constrains, set this option to `True...## Summary
This MR introduces the following changes
* Adding `continue_training` option for all models. With that, you can continue a broken training. For example, if your Job was killed due to time constrains, set this option to `True` and the latest model is loaded with weights, optimiser state and epoch number. This is then used for continuing the training.
## Conformity
- [X] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [X] [Documentation](https://umami-docs.web.cern.ch)
- [X] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [X] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/245Adding configurable chunk size + ensure int for nJets2021-11-12T18:04:39+01:00Alexander FrochAdding configurable chunk size + ensure int for nJetsThis MR adds two things:
- Make the chunk size of the model generators configurable as input parameter.
- Ensure that the number of jets (which is loaded from the config file) has the correct `dtype` of `int`. Because if you define it a...This MR adds two things:
- Make the chunk size of the model generators configurable as input parameter.
- Ensure that the number of jets (which is loaded from the config file) has the correct `dtype` of `int`. Because if you define it as `1e5`, it is loaded from yaml as a float ..Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/254Adding conditional attention2021-11-24T09:52:39+01:00Alexander FrochAdding conditional attentionThis MR adds the following:
- Adding new train script for DIPS Conditional Attention + example train config.
- Adding support for new DIPS Conditional Attention model in the validation/evaluation chain.
- Adding integration test for tra...This MR adds the following:
- Adding new train script for DIPS Conditional Attention + example train config.
- Adding support for new DIPS Conditional Attention model in the validation/evaluation chain.
- Adding integration test for train/validation/evaluation of DIPS Conditional Attention.
- Fixing some issues in the `tf_tools/models` with the masking (also adapted the unit test).
- Adding new generator for DIPS Conditional Attention.
- Adding some flexibility to the loading of the `loading_validation_data` functions.
- Adding compatibility of the `evaluate_model.py` for DIPS and DIPS Conditional Attention.
- Adding DIPS Conditional Attention to possible models for `plotting_epoch_performance.py`
- Adding DIPS Conditional Attention train script to the `setup.py`.
- Make the calculation of the Saliency maps steerable in the train config of the DIPS models.Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/191Adding Comments from Scaling and updating documentation2021-10-21T11:19:51+02:00Alexander FrochAdding Comments from Scaling and updating documentationThis MR adds the following:
1: follow-ups from #68 and #69. Closes #68 and #69.
2: Adding the possibility to define cuts based on a variable (like in preprocessing) for the evaluation. When the samples (test samples) are loaded for e...This MR adds the following:
1: follow-ups from #68 and #69. Closes #68 and #69.
2: Adding the possibility to define cuts based on a variable (like in preprocessing) for the evaluation. When the samples (test samples) are loaded for evaluation, the cut is applied to the jets (only working with jet variables).
3: Update of the preprocessing documentation (preprocessing.md).
4: Fixes in the plotting code (Caps of labels, linewidth, etc.)Alexander FrochAlexander Froch