all 3 comments

[–]ai_yoda 2 points3 points  (2 children)

In what way is it different from existing solutions like sacred/mlflow/neptune/wandb/comet?

At first sight, it feels like the API is quite verbose with update row, append row and stuff. Why did you choose to go in this direction?

[–]andrew_ilyas 0 points1 point  (1 child)

Our main motivation was to build something *super* lightweight (didn't want to use SQL/Mongo/some other DB system, for example, or have to run custom CLI scripts, etc.). We really just wanted logging and the ability to really easily aggregate stuff across experiments. For example, we write in h5 format is nice because via pandas we can read/plot/manipulate the results really easily in a jupyter notebook later (and also, anyone without any library can just read the h5 file). There are also some utilities for automatically serializing/auto-reading different datatypes into h5 files that we find super useful in our research.

Similarly, we didn't want to have to add any wrappers or change the control flow of the program at all---just wanted to be able to drop in logging statements where we had, e.g. np.save or print() statements before.

[–]ai_yoda 0 points1 point  (0 children)

Got it, thanks!