disco
disco copied to clipboard
Update TASK.md and describe the parameters in TaskInformation and DisplayInformation in a durable way
Currently, a user who wishes to create a new task doesn't find any information to the parameters that they must / may set.
There are several ways to fix this, such as:
- Adding JSDoc-style comments (with acribic @param usage) to
Task
,TrainingInformant
, andDisplayInformant
, and inserting links in TASK.md that take the user to the automatically generated docs for these classes.- Would this also cause relevant information to show up when someone uses an IDE to instantiate a new
Task
?
- Would this also cause relevant information to show up when someone uses an IDE to instantiate a new
- Placing the definitions of Task, TrainingInformant, and DisplayInformant in a single file and commenting every parameter inside the code, then inserting a link to that file in TASK.md
- Would it be possible to place the lengthy
isXYZ
functions in a different file ? They would clutter up the interface definitions file and make it harder to parse for a user who is just trying to create a new task.
- Would it be possible to place the lengthy
- Including relevant information about each parameter in TASK.md.
- This seems clunky, as anyone who modifies the
TaskInformation
for instance would have to remember to update TASK.md as well... - If we do include this information, it should be in a separate section of the file after we're finished explaining the high-level procedure.
- This seems clunky, as anyone who modifies the
- Your suggestion here ...
@tharvik , how would you recommend going about this ?
i would suggest 3. understanding these config params quickly is the most important thing for our main audience - those are the task creators who are not developers . we want to enable people who can't code much to still bring new ML custom tasks to disco
i don't think these users should need to go look at the code interfaces such as display_information
, but they should understand an example config file of a particular task, such as https://github.com/epfml/disco/blob/develop/discojs/src/tasks/mnist.ts
This can be handled in PR https://github.com/epfml/disco/pull/443.
this seems done in the .ts
files at least, so can probably close for now?