Currently, the package depends on .yaml files / config paths to run registrations. It would be useful to create a ~guide and~ CLI app for users to generate their own configuration files to customise trainings.
Please delete options that are not relevant.
N/A
Users currently have to design yaml files manually by inspecting yaml files provided in deepreg/config. It's not entirely clear what these parameters are or why they are necessary, what expected range should be required or how wrong values could break the training - I would assume the guesswork involved could prove quite frustrating at the end point.
This is related to #36 .
Porting doc request to that ticket, this ticket will be about creating CLI for the generation of config files. @YipengHu
@NMontanaBrown @agrimwood not sure i follow this line of work closely. If this is still ongoing, it would be handy to add one more functionality to generate the cross-validation "batch" config files. See this: https://ucl-candi.github.io/DeepReg/#/tutorial_experiment
This should be relatively independent to other code/tests but, again, is optional for R1.
Hi @YipengHu, as evidenced by lack of commits this ticket has not yet been addressed. There have been many changes to the config situation so mostly just waiting for the dust to settle before building a solution - if the config docs are done and there are no more expected changes to config situation then we can work on this. @agrimwood is currently working on testing so we can re-distribute this ticket.
Hi @NMontanaBrown , what do you mean about "own configuration files to customise trainings"?
I thought first you wanted to have a CLI to merge configs, but seems not exactly this?
The current system would work, if user copy a config and change the values themselves in that copy, then pass the config path.
But maybe you want something a bit more modular, and user can create a config by answering questions like
What do you think? @YipengHu @NMontanaBrown
About the cross validation, maybe another issue lol
ok - agree on CV.
We have chatted about different versions of this CLI - i'm a bit losing the track now - but definitely no conclusion reached - another item for thursday maybe?
ok - agree on CV.
We have chatted about different versions of this CLI - i'm a bit losing the track now - but definitely no conclusion reached - another item for thursday maybe?
Since we have decided to do this, should we re-visit generating multiple config files for CV? I thought we agreed on this during the meeting.
@YipengHu Later i will provide a doc on what i imagined for cli tool for config generation.
I'm marking this post-r1 now.
@ZheMin-1992 can you review this and give an estimates of the time required? thanks
I'd suggest to hold on this or even close it... The task is not clearly defined and I would not say it's of high priority, same as #301 @YipengHu
I'd suggest to hold on this or even close it... The task is not clearly defined and I would not say it's of high priority, same as #301 @YipengHu
@ZheMin-1992 what do you think?
It is helpful for the user from my current understanding. I am not sure actually.
I can proceed anyway if we decide to go.
It is helpful for the user from my current understanding. I am not sure actually.
I can proceed anyway if we decide to go.
Let's proceed.
@NMontanaBrown could you remind us what are we expecting exactly? Would you describe a simple use case?
@YipengHu I suggest to wait for further details.
Concerning onboarding @ZheMin-1992, if you are interested, we have some other tf-related issues like #468 #469 ;) and I can onboard you on these issues.
Hi, yes, I am now back from the dead
@mathpluscode - "The current system would work, if user copy a config and change the values themselves in that copy, then pass the config path."
My idea was to auto generate this from command line such that:
python deepreg_cli_tool_config --path /path/to/save --net "Unet" --loss "X" --batch 32 --opt "Adam" etc etc (I forgot the args in the config, but hopefully you get the gist)
generates a config file in /path/to/save that is exactly what deepreg needs to train the nets.
Basically a simple module that "fills in" a config file template and "guides" the user by providing all the fields that need to filled in with their parameters.
This means that you can batch generate config files using bash scripts, or just avoid copy pasting as many people that work with command line do.
thoughts @YipengHu @ZheMin-1992
a tool like that would be handy - more about a good design.
ok, so it's more like a flattened version of config? yeah, good to have for users maybe.
Shall I assign myself this ticket to clarify? May be more helpful to address since I have the vision of what this generically would look like! @YipengHu @mathpluscode
Shall I assign myself this ticket to clarify? May be more helpful to address since I have the vision of what this generically would look like! @YipengHu @mathpluscode
Agree ;) this sounds better.
A question for @mathpluscode, as I design this tool. Do we /need/ all the models in the config? Is this some weird dependency that needs fixing where all three must be present or am I missing something here?
In this yaml example there are three defined (local, global and unet). Surely we only need params for one model?
A question for @mathpluscode, as I design this tool. Do we /need/ all the models in the config? Is this some weird dependency that needs fixing where all three must be present or am I missing something here?
In this yaml example there are three defined (local, global and unet). Surely we only need params for one model?
No, we should just need what is necessary. I left them there so that it's easier to switch lol... @NMontanaBrown
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Reviving this from the dead @mathpluscode are we planning on this for rc1?
Reviving this from the dead @mathpluscode are we planning on this for rc1?
I really do not think this is important/urgent... lol I would even prefer drop this.
I am closing this unless there is going to be any immediate update.