YAECS (Yet Another Experiment Config System): Config System which allows easy manipulation of config files for safe, clear and repeatable experiments.
LGPL-3.0 License
Published by SalzingerJ about 2 months ago
Published by SalzingerJ 2 months ago
Improve path not found error message
Solve parsing bug when a list and a mapping end at the same time
Published by SalzingerJ 2 months ago
Solve bugs for registered methods with no tag
Published by SalzingerJ 2 months ago
Solve bug when a list contains several mappings in a row.
Allow non-string keys in dictionaries.
Published by SalzingerJ 2 months ago
Processing and setting of new params is now disentangled from the main Configuration object. It is not yet fully clean, but it's come a long way.
Published by SalzingerJ 2 months ago
Harmonise all instances of adding attributes to methods or functions using the attribute yaecs_metadata.
Prepare the code to the disentanglement of the parameter processing.
Change processing function "copy_param"'s tag from "copy" to "copy_param"
Remove obsolete checks for unlinked configs.
Remove sub-config registration.
Move all type hints handling to the main config.
Refactor the core merging and adding operations.
Published by SalzingerJ 2 months ago
Published by Antzyx 9 months ago
Published by Antzyx 10 months ago
Solve a bug where setting the tracker's internal step to a number would instead increase it by that number
Published by Antzyx 10 months ago
Published by Antzyx 11 months ago
Improve timing classes which now support pausing and
resuming during an epoch
Solve issue with log_image and tracker-wide steps
Adapt basic_logger to clearml organisation
Published by Antzyx 11 months ago
Swapped the role of the "name" and "sub_logger" arguments in the new log_image method to make them more intuitive.
Published by Antzyx 11 months ago
Published by Antzyx 11 months ago
Published by Antzyx 11 months ago
from "validat*" to "val*" to include "val"
Published by Antzyx 11 months ago
Breaking changes
Bugfixes and new features
Published by Antzyx about 1 year ago
Old syntax (still works) :
for epoch in epochs:
...
tracker.log_scalar("accuracy", acc, step=epoch)
tracker.log_scalar("r2", acc, step=epoch)
tracker.log_scalar("mse", acc, step=epoch)
...
New syntax (with identical behaviour) :
for epoch in epochs:
...
tracker.log_scalar("accuracy", acc)
tracker.log_scalar("r2", acc)
tracker.log_scalar("mse", acc)
...
tracker.step()
Instead of :
data_prep_timer = time.time()
prepare_data()
data_prep_timer = time.time() - data_prep_timer
You can do :
tracker.start_timer("data prep")
prepare_data()
tracker.stop_timer("data prep")
Times that are tracked during a given step are printed and logged to this step automatically when calling tracker.step(). They can also be retrieved using tracker.timer["last"] to log or print them manually. Please refer to the Timer and TimerManager classes for details.
Published by Antzyx over 1 year ago
-> as a consequence, parameter type forcing is no longer a thing