Conversation
* rm model_forward assignment in val * rm clutter from diffusion branch * reverse if order
* Fix bug with diagnostic streams * Avoid that empty decoders are allocated
* Doing something wrong * Make fine-tuning work * Rename sensibly
* Enable multiple student views for one target * Improved readability
* add pin mem to IOReaderData * add pin mem to sample & modelbatch class * add pin mem to stream data * add pin mem to training loop * run /scripts/actions.sh lint * run ./scripts/actions.sh unit-test * ignore check torch import in package * move pinning to MultiStreamDataSampler * add _pin_tensor & _pin_tensor_list helper func * ruff the code * move back pin mem. to train loop * Remove the ignore-import-error rule and revert to the state before the change * create protocol for pinnable obj * remove pin_mem from IOReaderData class * add pin_memory to Trainer.validate * remove pin_memory from loader_params * Rever export/export_inference.py to state before c3fc9a7 * change name * revise Pinnable class description * add memory_pinning in config, train & va loop * use getattr to avoid CICD warning * use setattr to avoid CICD warning * disable pylint for self.source_tokens_lens * Fixed issues with memory pinning due to rebasing and also adjusted config position of flag * Reverting unadvert changes --------- Co-authored-by: Javad Kasravi <j.kasravi@fz-juelich.de> Co-authored-by: Javad Kasravi <jkasravi@santis-ln002.cscs.ch> Co-authored-by: Javad kasravi <kasravi66@gmail.com>
* split WeatherGenReader functionality to allow reading only JSON adding weathergen JSON reader to develop * informative error when metrics are not there * restore JSONreader after rebase * JSONreader mostly restored * MLFlow logging independent of JSON/zarr * linting, properly cheking fsteps, ens, samples in JSONreader * tiny change to restore the MergeReader * lint * enabling JSONreader to skip plots and missing scores gracefully * required reformatting * move skipping of metrics to the reader class * slighly more explicit formulations --------- Co-authored-by: Sebastian Buschow <sbuschow@santis-ln001.cscs.ch> Co-authored-by: Sebastian Buschow <sbuschow@santis-ln002.cscs.ch> Co-authored-by: iluise <72020169+iluise@users.noreply.github.com> Co-authored-by: Ilaria Luise <luise.ilaria@gmail.com>
* Add target type value error * Remove type * Remove unused code * Commit what shall have been committed * Remove target readout type from config * Add computing stream names to embedding engine --------- Co-authored-by: Christian Lessig <christian.lessig@ecmwf.int>
* add default streams + fix lead time error * update config * Correct a bug creating aggr issues on scores (#1685) --------- Co-authored-by: Savvas Melidonis <79579567+SavvasMel@users.noreply.github.com>
* add default streams + fix lead time error * update config * update ratio plots and bar plots for single run * fix title * Update config Added support information for forecast_step configuration. --------- Co-authored-by: Savvas Melidonis <79579567+SavvasMel@users.noreply.github.com>
* add argument * check stage argument * removed unnecessary code * arbitrary position arguments * Fix error text * get stage info from environment variable. * Update run_train.py --------- Co-authored-by: Simon Grasse <s.grasse@fz-juelich.de>
* caching get_shared_wg_path()
* renaming get_path_output to get_path_results
* model and results paths from get_shared_wg_path() and removed _get_config_attribute()
* marking get_shared_wg_path() as private
* removing set_path()
* fixed call to _get_shared_wg_path
* fixed import, code clean-up, change caching decorator
* changed way of caching _get_shared_wg_base_path
* fixed typing error
* changes in Refactor shared WG path handling and model config I/O
- Simplify get_path_model/get_path_run to always resolve via _get_shared_wg_path()
- Change _get_shared_wg_path() to cached, argument-free helper returning the shared working dir from private config
- Adjust model config save/load to build filenames relative to the run’s model directory instead of passing parent paths around
- Update load_run_config and load_merge_configs to use new path helpers and improve assertion/log messages
- Replace internal _get_shared_wg_path("results") usages with get_path_run() in wegen_reader and train_logger
* fixed base_path in metrics_path
* fixed forgotten config.general
* fixed lint raised issues
* Improve path handling and add missing docstrings
- Add docstrings to 10+ utility functions for better documentation
- Refactor load_run_config to improve path construction logic
- Move mini_epoch string formatting from _get_model_config_file_read_name
to caller for better separation of concerns
- Add validation for mini_epoch_str format with descriptive error messages
- Fix multi-line docstring format in _load_private_conf
* fixed line too long
* reverting to previous _get_model_config_file_read_name()
* pretty fix for _get_model_config_file_read_name
* pretty fix for _get_model_config_file_read_name
* removed unused/undefined path
* replace '_' with '-' * cli options underscore to dash * change underscores to hyphens * rename options in cli unit test
Co-authored-by: Savvas Melidonis <79579567+SavvasMel@users.noreply.github.com>
* rename write_num_samples to num_samples * Fixing linting --------- Co-authored-by: Christian Lessig <christian.lessig@ecmwf.int>
* remove misleading logging of mini_epoch * add forecast_steps logging
* Fix duplicate run_id in results and runplots paths. Linting. * remove duplicate run_id also from metrics directory * Linting
|
|
||
| def get_evaluation_config(run_id, verbose=False): | ||
| """Create evaluation configuration for multiple streams.""" | ||
| cfg = omegaconf.OmegaConf.create( |
There was a problem hiding this comment.
We should use yaml config files here and not hard-code configs in the code.
There was a problem hiding this comment.
do you want it as part of the main config then? Can we do it in a separate PR?
|
Hey @iluise, thanks so much for working on this! Is there a summary or high-level overview of the changes or is the best thing I can do, going through the code line-by-line? |
|
I think you should mainly test if it does what we want for the ssl analysis (aka are the plots and the numbers what we want to test the pre-training?) and feedbacks are more than welcome. most of the changes are to remove verbosity, so not very interesting overall. the main novelty is the ssl_analysis.py code. Feedbacks on that are also welcome as people from pre-training might touch it in the future to change their analysis I guess (nb. the config is now hardcoded but we will change that in the future). |
| ] | ||
|
|
||
| [project.scripts] | ||
| ssl_analysis= "weathergen.evaluate.ssl.ssl_eval:ssl_analysis" |
There was a problem hiding this comment.
can we fold that into an evaluation sub-task? I am happy to discuss reasons for that.
|
closing as implemented elsewhere by Simone. |
Description
add code for standard inference + evaluation for jepa/dinov3 etc..
usage:
Issue Number
Closes #1746
Is this PR a draft? Mark it as draft.
Checklist before asking for review
./scripts/actions.sh lint./scripts/actions.sh unit-test./scripts/actions.sh integration-testlaunch-slurm.py --time 60