mle-infrastructure / mle-toolbox

Lightweight Tool to Manage Distributed ML Experiments 🛠
https://mle-infrastructure.github.io/mle_toolbox/toolbox/
MIT License
3 stars 1 forks source link

Could renaming the toolbox user scripts make for a better user experience? #42

Closed denisalevi closed 3 years ago

denisalevi commented 3 years ago

I find the names of the toolbox user scripts quite generic / could interfere with other user scripts. And since the number of user scripts seems to increase, it also means people have to remember different names.

I would suggest doing it similar to other tools by choosing one main toolbox script, like e.g. git: git status git add git commit

You could use something like mle-toolbox run mle-toolbox report mle-toolbox ...

And most importantly, executing only mle toolbox would report an error and print the same as mle-toolbox --help, which should give you an informative usage message with all the available commands and a short description of them. And mle toolbox run --help would give details about the run submethod.

Just an idea that crossed my mind everytime you add a new toolkit script. Maybe not highest priority though :)

RobertTLange commented 3 years ago

Great idea! I am currently working on a PR in the subcmd branch. It will also require some restructuring of all the docs. @Denis do you have any experience with automatic doc generation? I am quite the noob when it comes to this. Also do you like mle-toolbox <subcmd> better than mle <subcmd>? mle-toolbox feels a bit clunky/heavy.

denisalevi commented 3 years ago

I have never used automatic doc generation. I know it is used in brian2 and I will have to look into it soon for brian2cuda, but I haven't done so yet and I can't comment on pros/cons of different systems (don't even know what is out there). I guess all you can automate is the documentation of Python classes / function from their docstrings / comments, e.g. this. Here is e.g. Brian2's reference for that: https://brian2.readthedocs.io/en/stable/developer/guidelines/documentation.html

And for command name, I think mle is good. I would maybe start the github readme with a sentence that states what it stands for. I assume machine learning environment? But it isn't mentioned I think. I tend to easier remember abbreviations when I know what they mean :)

RobertTLange commented 3 years ago

That's a good point. It is written in the About of the repo and stands for Machine Learning Experiment Toolbox, but it makes sense to add it to the main Readme text as well. I will go for mle then. Okay, I guess I will have to look into sphinx at some point. Let me know if there are any cool tricks :) and I agree -- understanding makes remembering a lot easier 😅